Hi guys,
I have a Batch Editing RadGrid like in this sample bellow and it has been working for years.
http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/batch-editing/defaultcs.aspx
I have been binding the radgrid via a ObjectDataSource.
<asp:ObjectDataSource ID="ods1" TypeName="Sensor.DAL" SelectMethod ="GetSensorBulkData" UpdateMethod="UpdateSensorBulkSettings" runat="server">
But now all I want is to add the functionality of cascading comboboxes in the top of the page to use as added filters comparing any sensor data column in the page.
http://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/multiplecomboboxes/defaultcs.aspx
So I have added those and the filtering works fine but I had to modify my ObjectDataSource and now
<asp:ObjectDataSource ID="ods1" TypeName="Sensor.DAL" UpdateMethod="UpdateSensorBulkSettings" runat="server">
so I have placed the original SelectMethod in Page_Load like this
ods1.SelectMethod = "GetSensorBulkData";
and I have placed the filtered SelectMethod in Button1_Click the event for filtering using the Cascading Comboboxes like this
protected void Button1_Click(object sender, EventArgs e) {
Literal1.Text = string.Empty;
if (RadComboBox1.SelectedIndex > 0 && RadComboBox2.SelectedIndex > 0 && RadComboBox3.SelectedIndex > 0) {
Literal1.Text = string.Format(MessageTemplate, RadComboBox3.Text, RadComboBox2.Text, RadComboBox1.Text);
string Lower = RadComboBox2.Text;
string Higher = RadComboBox3.Text;
ods1.TypeName = "DAL";
ods1.SelectParameters.Clear();
ods1.SelectParameters.Add("Low", TypeCode.String, Lower);
ods1.SelectParameters.Add("High", TypeCode.String, Higher);
ods1.SelectMethod = "GetSensorBulkDataCompared";
}
}
The problem I have now is that I cant update my rows. and get the Message
Sensor with ID '' Cannot be updated. Reason: ObjectDataSource 'ods1' could not find a non-generic method 'UpdateSensorBulkSettings' listing all my Update Parameters plus the parameter original_ID from nowhere so I add OldValuesParameterFormatString="original_{0}" to my ObjectDataSource
<asp:ObjectDataSource ID="ods1" TypeName="Sensor.DAL" OldValuesParameterFormatString="original_{0}" UpdateMethod="UpdateSensorBulkSettings" runat="server"> like this and add original_id as an UPDATE parameter <asp:Parameter Name="original_id" Type="Int32" />
Then I add the original_id to my UpdateMethod but I dont use it there I just trap it...to see if it works and NO no update and the same error message.
What have I missed?
Also for some reason I had a secondary issue with the the Cascading comboboxes they dont seem to want to play with the radgrid in the AJAX settings at all
<tr:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<tr:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<tr:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
<tr:AjaxUpdatedControl ControlID="SavedChangesList" />
</UpdatedControls>
</tr:AjaxSetting>
<tr:AjaxSetting AjaxControlID="RadComboBox1">
<UpdatedControls>
<tr:AjaxUpdatedControl ControlID="RadComboBox2" />
<tr:AjaxUpdatedControl ControlID="RadComboBox3" />
</UpdatedControls>
</tr:AjaxSetting>
<tr:AjaxSetting AjaxControlID="RadComboBox2">
<UpdatedControls>
<tr:AjaxUpdatedControl ControlID="RadComboBox3" />
</UpdatedControls>
</tr:AjaxSetting>
</AjaxSettings>
</tr:RadAjaxManager>
RadComobox2 and 3 They look like they load but the never got populated. which I do just like in the demo from telerik
protected void LoadCompare1()
{
RadComboBox2.DataTextField = "Title";
RadComboBox2.DataValueField = "ID";
RadComboBox2.DataSource = Data.GetSiteMatch();
RadComboBox2.DataBind();
}
protected void LoadCompare2(int SiteId)
{
RadComboBox3.DataTextField = "Title";
RadComboBox3.DataValueField = "ID";
RadComboBox3.DataSource = Data.GetSiteMatchFiltered(SiteId);
RadComboBox3.DataBind();
}
the radgrid however sits inside a <tr:RadAjaxPanel runat="server" ID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1"> because it doesnt work outside it.
So Basically for testing purposes I have removed the AJAXsettings for the comboboxes so the entire page reloads after I change the values of Combobox 1 and 2
Help!