Hi guys,
Question: Do I have to move my objectdatasource settings for code behind to codebehind in this scenario? If I have to how do I do it?
and in what event? I have been dabbling with this for 2 days now.
I have a Radgrid using the batch editing features of this demo:
http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/batch-editing/defaultcs.aspx
But I have added with some cascading comboboxes to apply some pre-filtering for the entire radgrid. I have an objectdatasource connected to it but since I added the cascading comboboxes to my page. Can I still make the updates defined in my objectdatasource in the ASPX page as I had to move my selectmethods for the grid to codebehind?
On page_load I have the following code
if (RadComboBox1.SelectedValue != "" && RadComboBox2.SelectedValue != "" && RadComboBox3.SelectedValue != "")
{
Literal1.Text = string.Format(MessageTemplate, RadComboBox3.Text, RadComboBox2.Text, RadComboBox1.Text);
Lower = RadComboBox2.Text;
Higher = RadComboBox3.Text;
GetCompared(Lower, Higher);
}
else
{
ods1.SelectMethod = "GetSensorBulkData";
}
if the boxes are all selected I call GetCompared function
protected void GetCompared(string Lower, string Higher)
{
NotifyUser("Är " + Lower + " lägre än " + Higher);
ods1.TypeName = "DAL";
ods1.SelectParameters.Clear();
ods1.SelectParameters.Add("Low", TypeCode.String, Lower);
ods1.SelectParameters.Add("High", TypeCode.String, Higher);
ods1.SelectMethod = "GetSensorBulkDataCompared";
}
I can also call the GetCompared from button click
protected void Button1_Click(object sender, EventArgs e)
{
Literal1.Text = string.Empty;
if (RadComboBox1.SelectedValue != "" && RadComboBox2.SelectedValue != "" && RadComboBox3.SelectedValue != "")
{
Literal1.Text = string.Format(MessageTemplate, RadComboBox3.Text, RadComboBox2.Text, RadComboBox1.Text);
Lower = RadComboBox2.Text;
Higher = RadComboBox3.Text;
GetCompared(Lower, Higher);
}
This pre filtering I have here is to compare different sites data to see if we have any deviations. and then Adjust settings accordingly if we need to make overrides.
I would prefer if I could tell my objectdatasource to use this update from the ASPX page but for some reasone I get the error
ObjectDataSource 'ods1' could not find a non-generic method 'UpdateSensorBulkSettings' that has parameters: "all my parameters" + original_ID.
btw I added original_id to the updateparameters and trap it in my dataaccess layer as I didnt think I need it.
<asp:ObjectDataSource ID="ods1" TypeName="DAL" OldValuesParameterFormatString="original_{0}" UpdateMethod="UpdateSensorBulkSettings" runat="server">
<UpdateParameters>
<asp:Parameter Name="Id" Type="Int32" />
<asp:Parameter Name="Site1Main1" Type="Double" />
<asp:Parameter Name="Site1Main2" Type="Double" />
<asp:Parameter Name="Site1Main3" Type="Double" />
<asp:Parameter Name="Enabled" Type="Boolean" />
<asp:Parameter Name="Site2Main1" Type="Double" />
<asp:Parameter Name="MatchSite1Main1Settings" Type="Boolean" />
<asp:Parameter Name="Site2Main2" Type="Double" />
<asp:Parameter Name="MatchSite1Main2Settings" Type="Boolean" />
<asp:Parameter Name="Site2Main3" Type="Double" />
<asp:Parameter Name="MatchSite1Main3Settings" Type="Boolean" />
<asp:Parameter Name="......other parameters...." Type="Double" />
<asp:Parameter Name="Username" Type="String" />
<asp:Parameter Name="original_ID" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
Could anyone please help with this I'm staring myself blind and need some advice here.
I have posted some previous questions relating to this but as I got not answers on the previous post and I managed to fix all but this Issue.