Hello,
I have a custom form template in my RadGrid that closes fine right after opening (clicking on edit), but will not close after selecting an item in a combobox within the form (which is set to autopostback="true"). There are multiple linked comboboxes being used in the form, a form decorator and ajaxmanager with the RadGrid registered to the manager updating itself. I assume this is an issue with the ajax controls being used, but it does not appear obvious that there is any reason why the editform is not being collapsed after an autopostback. My project implements code very similar to the demo here -> http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/templateformupdate/defaultcs.aspx.
Thank you for any input
I have a custom form template in my RadGrid that closes fine right after opening (clicking on edit), but will not close after selecting an item in a combobox within the form (which is set to autopostback="true"). There are multiple linked comboboxes being used in the form, a form decorator and ajaxmanager with the RadGrid registered to the manager updating itself. I assume this is an issue with the ajax controls being used, but it does not appear obvious that there is any reason why the editform is not being collapsed after an autopostback. My project implements code very similar to the demo here -> http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/templateformupdate/defaultcs.aspx.
Thank you for any input
6 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 05 Jul 2013, 06:38 AM
Hi Andrew ,
I tried to replicate the issue but no avail.Could you please provide your code for better understanding your issues.
Here is a sample i tried and it works fine at my side.
ASPX:
Thanks,
Princy
I tried to replicate the issue but no avail.Could you please provide your code for better understanding your issues.
Here is a sample i tried and it works fine at my side.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"True"
PageSize
=
"20"
AllowSorting
=
"True"
AutoGenerateColumns
=
"false"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
>
<
MasterTableView
CommandItemDisplay
=
"TopAndBottom"
DataKeyNames
=
"OrderID"
>
<
Columns
>
<
telerik:GridEditCommandColumn
>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"OrderID"
HeaderText
=
"OrderID"
DataField
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"ShipCity"
HeaderText
=
"ShipCity"
DataField
=
"ShipCity"
>
</
telerik:GridBoundColumn
>
<
telerik:GridCheckBoxColumn
UniqueName
=
"IsTrue"
HeaderText
=
"IsTrue"
DataField
=
"IsTrue"
>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"column"
>
</
telerik:GridButtonColumn
>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
table
id
=
"Table2"
cellspacing
=
"2"
cellpadding
=
"1"
width
=
"100%"
border
=
"0"
rules
=
"none"
style
=
"border-collapse: collapse;"
>
<
tr
class
=
"EditFormHeader"
>
<
tr
>
<
td
>
ShipCity:
</
td
>
<
td
>
<
asp:TextBox
ID
=
"TextBox7"
runat
=
"server"
Text='<%# Bind("ShipCity") %>'>
</
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
>
IsTrue
</
td
>
<
td
>
<
asp:CheckBox
ID
=
"CheckBox"
runat
=
"server"
AutoPostBack
=
"true"
Checked='<%# Eval("IsTrue").ToString() == "TRUE" %>' />
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"right"
colspan
=
"2"
>
<
asp:Button
ID
=
"btnUpdate"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'>
</
asp:Button
>
<
asp:Button
ID
=
"btnCancel"
Text
=
"Cancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
></
asp:Button
>
</
td
>
</
tr
>
</
table
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
Thanks,
Princy
0
Andrew
Top achievements
Rank 1
answered on 05 Jul 2013, 01:04 PM
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGridItems"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGridItems"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
div
style
=
" margin:0 auto; width: 70%;"
>
<
fieldset
>
<
legend
>Item Definition</
legend
>
<
telerik:RadGrid
ID
=
"RadGridItems"
runat
=
"server"
DataSourceID
=
"objDataItems"
GridLines
=
"None"
CssClass
=
"RadGrid"
PagerStyle-AlwaysVisible
=
"true"
AllowPaging
=
"True"
AllowAutomaticUpdates
=
"true"
AllowAutomaticDeletes
=
"true"
OnItemCommand
=
"RadGridItems_ItemCommand"
AllowAutomaticInserts
=
"false"
AllowSorting
=
"true"
AutoGenerateColumns
=
"false"
CellSpacing
=
"0"
>
<
MasterTableView
AllowFilteringByColumn
=
"true"
CommandItemDisplay
=
"Top"
DataKeyNames
=
"ItemId"
CommandItemSettings-ShowAddNewRecordButton
=
"true"
EditMode
=
"EditForms"
CommandItemSettings-AddNewRecordText
=
"Add New Item"
>
<
EditFormSettings
InsertCaption
=
"Add New item"
CaptionFormatString
=
"Edit ItemId: {0}"
CaptionDataField
=
"ItemId"
EditFormType
=
"Template"
>
<
FormTemplate
>
<
telerik:RadFormDecorator
ID
=
"EditFormDecorator"
DecorationZoneID
=
"dec-zone-edit"
runat
=
"server"
DecoratedControls
=
"All"
EnableRoundedCorners
=
"true"
/>
<
div
id
=
"dec-zone-edit"
style
=
"margin:0 auto 5px auto; width: 100% "
>
<
fieldset
>
<
legend
>Item Definition</
legend
>
<
div
style
=
"margin: 0 auto 5px auto"
>
<
div
style
=
"margin: 0 auto; float: left; height: 200px; width:30%"
>
<
fieldset
>
<
legend
>Manufacturer Information</
legend
>
<
table
> <
table
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboMfr"
OnDataBound
=
"Mfr_DataBound"
Label
=
"Manufacturer:"
EmptyMessage
=
"Choose Manufacturer"
Filter
=
"StartsWith"
DataSourceID
=
"objDataManufacturers"
runat
=
"server"
DataTextField
=
"MfrName"
AutoPostBack
=
"true"
Sort
=
"Ascending"
Width
=
"200px"
DataValueField
=
"MfrId"
AllowCustomText
=
"false"
OnSelectedIndexChanged
=
"RadComboMfr_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboBrand"
Label
=
"Brand:"
EmptyMessage
=
"Choose Brand"
Filter
=
"StartsWith"
runat
=
"server"
AutoPostBack
=
"true"
Width
=
"200px"
Sort
=
"Ascending"
AllowCustomText
=
"false"
OnSelectedIndexChanged
=
"RadComboBrand_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboSubBrand"
AllowCustomText
=
"false"
Label
=
"Sub Brand:"
EmptyMessage
=
"Choose Sub Brand"
Filter
=
"StartsWith"
runat
=
"server"
Sort
=
"Ascending"
Width
=
"200px"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
"MFR Custom #: "
></
asp:Label
>
<
telerik:RadTextBox
ID
=
"RadTextBox2"
runat
=
"server"
Width
=
"200px"
EmptyMessage
=
"Enter Custom Mfr Number"
></
telerik:RadTextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboPackaging"
Label
=
"Package Types:"
EmptyMessage
=
"Choose Package Types"
Filter
=
"StartsWith"
AllowCustomText
=
"false"
runat
=
"server"
CheckBoxes
=
"true"
Width
=
"200px"
DataSourceID
=
"objDataPackaging"
DataTextField
=
"Name"
DataValueField
=
"PackagingId"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
</
table
>
<
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"margin: 0 auto; height: 200px; width:30%"
>
<
fieldset
>
<
legend
>Location Information</
legend
>
<
table
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboCountry"
Label
=
"Country:"
EmptyMessage
=
"Choose Country"
Filter
=
"StartsWith"
DataSourceID
=
"objDataCountry"
runat
=
"server"
DataTextField
=
"CountryName"
AutoPostBack
=
"true"
Sort
=
"Ascending"
Width
=
"200px"
DataValueField
=
"CountryId"
AllowCustomText
=
"false"
OnSelectedIndexChanged
=
"RadComboCountry_SelectedIndexChanged"
OnDataBound
=
"Country_DataBound"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboStateOrProvince"
AllowCustomText
=
"false"
Label
=
"State/Province:"
EmptyMessage
=
"Choose State or Province"
Filter
=
"StartsWith"
runat
=
"server"
OnSelectedIndexChanged
=
"RadComboStateOrProvince_SelectedIndexChanged"
AutoPostBack
=
"true"
Width
=
"200px"
Sort
=
"Ascending"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboStateOrProvinceRegion"
AllowCustomText
=
"false"
Label
=
"State/Province Region:"
EmptyMessage
=
"Choose State/Province Region"
Filter
=
"StartsWith"
runat
=
"server"
Width
=
"200px"
Sort
=
"Ascending"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboRegion"
AllowCustomText
=
"false"
Label
=
"Region:"
EmptyMessage
=
"Choose Region"
Filter
=
"StartsWith"
runat
=
"server"
Width
=
"200px"
Sort
=
"Ascending"
AutoPostBack
=
"true"
OnSelectedIndexChanged
=
"RadComboRegion_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboLocale"
AllowCustomText
=
"false"
Label
=
"Locale:"
EmptyMessage
=
"Choose Locale"
Filter
=
"StartsWith"
runat
=
"server"
Sort
=
"Ascending"
Width
=
"200px"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
</
table
>
</
fieldset
>
</
div
>
</
div
>
<
div
style
=
"float:left"
>
<
telerik:RadButton
ID
=
"btnUpdate"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'>
</
telerik:RadButton
>
<
telerik:RadButton
ID
=
"btnCancel"
Text
=
"Cancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
>
</
telerik:RadButton
>
</
div
>
</
fieldset
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
<
asp:ObjectDataSource
ID
=
"objDataManufacturers"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getCustomerManufacturers"
InsertMethod
=
"insertManufacturer"
UpdateMethod
=
"updateManufacturer"
DeleteMethod
=
"deleteManufacturer"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"MfrName"
DbType
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"MfrName"
DbType
=
"String"
/>
<
asp:Parameter
Name
=
"MfrId"
DbType
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"MfrId"
DbType
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataBrand"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getManufacturerBrands"
InsertMethod
=
"insertManufacturerBrand"
UpdateMethod
=
"updateManufacturerBrand"
DeleteMethod
=
"deleteManufacturerBrand"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"BrandName"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"BrandName"
DbType
=
"String"
/>
<
asp:Parameter
Name
=
"BrandId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"BrandId"
Type
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataSubBrand"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getBrandSubBrands"
InsertMethod
=
"insertBrandSubBrand"
UpdateMethod
=
"updateBrandSubBrand"
DeleteMethod
=
"deleteBrandSubBrand"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"SubBrandName"
DbType
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"SubBrandName"
DbType
=
"String"
/>
<
asp:Parameter
Name
=
"SubBrandId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"SubBrandId"
DbType
=
"Int32"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataCountry"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getCountries"
InsertMethod
=
"insertCountry"
UpdateMethod
=
"updateCountry"
DeleteMethod
=
"deleteCountry"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"CountryName"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"CountryName"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"CountryId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"CountryId"
Type
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataStateOrProvince"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getStateOrProvinces"
InsertMethod
=
"insertStateOrProvince"
UpdateMethod
=
"updateStateOrProvince"
DeleteMethod
=
"deleteStateOrProvince"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"StateOrProvinceName"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Code"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"StateOrProvinceName"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Code"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"StateOrProvinceId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"StateOrProvinceId"
Type
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataRegion"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getRegions"
InsertMethod
=
"insertRegion"
UpdateMethod
=
"updateRegion"
DeleteMethod
=
"deleteRegion"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"RegionName"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"RegionName"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"RegionId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"RegionId"
Type
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataLocale"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getLocales"
InsertMethod
=
"insertLocale"
UpdateMethod
=
"updateLocale"
DeleteMethod
=
"deleteLocale"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"LocaleName"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"LocaleName"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"LocaleId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"LocaleId"
Type
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataStateProvinceRegion"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getSPRegions"
InsertMethod
=
"insertSPRegion"
UpdateMethod
=
"updateSPRegion"
DeleteMethod
=
"deleteSPRegion"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"StateProvinceRegionName"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"StateProvinceRegionName"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"StateProvinceRegionId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"StateProvinceRegionId"
Type
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
protected
override
void
Page_Load(
object
sender, EventArgs e)
{
if
(
base
.loggedIn())
{
base
.Page_Load(sender, e);
}
}
protected
void
RadComboMfr_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
ControlParameter ctrlParam =
new
ControlParameter();
ctrlParam.DbType = DbType.Int32;
ctrlParam.Name =
"MfrId"
;
ctrlParam.DefaultValue = e.Value;
ctrlParam.PropertyName =
"SelectedValue"
;
RadComboBox RCBBrand = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboBrand"
);
ctrlParam.ControlID = RCBBrand.UniqueID;
objDataBrand.SelectParameters[
"MfrId"
] = ctrlParam;
RadComboBox RCBSubBrand = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboSubBrand"
);
RCBBrand.Text =
""
;
RCBSubBrand.Items.Clear();
RCBSubBrand.Text =
""
;
if
(e.Value !=
""
)
{
RCBBrand.DataTextField =
"BrandName"
;
RCBBrand.DataValueField =
"BrandId"
;
RCBBrand.DataSource = objDataBrand;
RCBBrand.DataBind();
RCBBrand.SortItems();
RCBBrand.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Brand--"
,
null
));
}
}
protected
void
RadComboBrand_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e )
{
ControlParameter ctrlParam =
new
ControlParameter();
ctrlParam.DbType = DbType.Int32;
ctrlParam.Name =
"BrandId"
;
ctrlParam.DefaultValue = e.Value;
ctrlParam.PropertyName =
"SelectedValue"
;
RadComboBox RCBSubBrand = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboSubBrand"
);
ctrlParam.ControlID = RCBSubBrand.UniqueID;
objDataSubBrand.SelectParameters[
"BrandId"
] = ctrlParam;
if
(e.Value !=
""
)
{
RCBSubBrand.Text =
""
;
RCBSubBrand.Items.Clear();
RCBSubBrand.Text =
""
;
RCBSubBrand.DataTextField =
"SubBrandName"
;
RCBSubBrand.DataSource = objDataSubBrand;
RCBSubBrand.DataBind();
RCBSubBrand.SortItems();
RCBSubBrand.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Sub Brand--"
,
null
));
}
}
protected
void
RadComboCountry_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
ControlParameter ctrlParam =
new
ControlParameter();
ctrlParam.DbType = DbType.Int32;
ctrlParam.Name =
"CountryId"
;
ctrlParam.DefaultValue = e.Value;
ctrlParam.PropertyName =
"SelectedValue"
;
RadComboBox RCBRegion = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboRegion"
);
ctrlParam.ControlID = RCBRegion.UniqueID;
objDataRegion.SelectParameters[
"CountryId"
] = ctrlParam;
ControlParameter ctrlParam2 =
new
ControlParameter();
ctrlParam2.DbType = DbType.Int32;
ctrlParam2.Name =
"CountryId"
;
ctrlParam2.DefaultValue = e.Value;
ctrlParam2.PropertyName =
"SelectedValue"
;
RadComboBox RCBStateOrProvince = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboStateOrProvince"
);
ctrlParam2.ControlID = RCBStateOrProvince.UniqueID;
objDataStateOrProvince.SelectParameters[
"CountryId"
] = ctrlParam2;
RadComboBox RCBLocale = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboLocale"
);
if
(e.Value !=
""
)
{
RCBRegion.Text =
""
;
RCBStateOrProvince.Text =
""
;
RCBLocale.Items.Clear();
RCBLocale.Text =
""
;
RCBRegion.DataTextField =
"RegionName"
;
RCBRegion.DataValueField =
"RegionId"
;
RCBRegion.DataSource = objDataRegion;
RCBRegion.DataBind();
RCBRegion.SortItems();
RCBRegion.Items.Insert(0,
new
RadComboBoxItem(
"Select a Region"
,
null
));
RCBStateOrProvince.DataTextField =
"StateOrProvinceName"
;
RCBStateOrProvince.DataValueField =
"StateOrProvinceId"
;
RCBStateOrProvince.DataSource = objDataStateOrProvince;
RCBStateOrProvince.DataBind();
RCBStateOrProvince.SortItems();
RCBStateOrProvince.Items.Insert(0,
new
RadComboBoxItem(
"--Select a State or Province--"
,
null
));
}
}
protected
void
RadComboStateOrProvince_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
ControlParameter ctrlParam =
new
ControlParameter();
ctrlParam.DbType = DbType.Int32;
ctrlParam.Name =
"StateOrProvinceId"
;
ctrlParam.DefaultValue = e.Value;
ctrlParam.PropertyName =
"SelectedValue"
;
RadComboBox RCBStateProvinceRegion = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboStateOrProvinceRegion"
);
ctrlParam.ControlID = RCBStateProvinceRegion.UniqueID;
objDataStateProvinceRegion.SelectParameters[
"StateOrProvinceId"
] = ctrlParam;
if
(e.Value !=
""
)
{
RCBStateProvinceRegion.Text =
""
;
RCBStateProvinceRegion.Items.Clear();
RCBStateProvinceRegion.Text =
""
;
RCBStateProvinceRegion.DataTextField =
"StateProvinceRegionName"
;
RCBStateProvinceRegion.DataSource = objDataStateProvinceRegion;
RCBStateProvinceRegion.DataBind();
RCBStateProvinceRegion.SortItems();
RCBStateProvinceRegion.Items.Insert(0,
new
RadComboBoxItem(
"--Select a State/Province Region--"
,
null
));
}
}
protected
void
RadComboRegion_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
ControlParameter ctrlParam =
new
ControlParameter();
ctrlParam.DbType = DbType.Int32;
ctrlParam.Name =
"RegionId"
;
ctrlParam.DefaultValue = e.Value;
ctrlParam.PropertyName =
"SelectedValue"
;
RadComboBox RCBLocale = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboLocale"
);
ctrlParam.ControlID = RCBLocale.UniqueID;
objDataLocale.SelectParameters[
"RegionId"
] = ctrlParam;
if
(e.Value !=
""
)
{
RCBLocale.Text =
""
;
RCBLocale.Items.Clear();
RCBLocale.Text =
""
;
RCBLocale.DataTextField =
"LocaleName"
;
RCBLocale.DataSource = objDataLocale;
RCBLocale.DataBind();
RCBLocale.SortItems();
RCBLocale.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Locale--"
,
null
));
}
}
protected
void
Country_DataBound(
object
sender, EventArgs e)
{
RadComboBox RCBCountry = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboCountry"
);
RCBCountry.SortItems();
RCBCountry.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Country--"
,
null
));
}
protected
void
Mfr_DataBound(
object
sender, EventArgs e)
{
RadComboBox RCBMfr = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboMfr"
);
RCBMfr.SortItems();
RCBMfr.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Manufacturer--"
,
null
));
}
0
Andrew
Top achievements
Rank 1
answered on 05 Jul 2013, 02:06 PM
<
div
style
=
" margin:0 auto; width: 70%;"
>
<
fieldset
>
<
legend
>Item Definition</
legend
>
<
telerik:RadGrid
ID
=
"RadGridItems"
runat
=
"server"
DataSourceID
=
"objDataItems"
GridLines
=
"None"
CssClass
=
"RadGrid"
PagerStyle-AlwaysVisible
=
"true"
AllowPaging
=
"True"
AllowAutomaticUpdates
=
"true"
AllowAutomaticDeletes
=
"true"
OnItemCommand
=
"RadGridItems_ItemCommand"
AllowAutomaticInserts
=
"false"
AllowSorting
=
"true"
AutoGenerateColumns
=
"false"
CellSpacing
=
"0"
>
<
MasterTableView
AllowFilteringByColumn
=
"true"
CommandItemDisplay
=
"Top"
DataKeyNames
=
"ItemId"
CommandItemSettings-ShowAddNewRecordButton
=
"true"
EditMode
=
"EditForms"
CommandItemSettings-AddNewRecordText
=
"Add New Item"
>
<
EditFormSettings
InsertCaption
=
"Add New item"
CaptionFormatString
=
"Edit ItemId: {0}"
CaptionDataField
=
"ItemId"
EditFormType
=
"Template"
>
<
FormTemplate
>
<
telerik:RadFormDecorator
ID
=
"EditFormDecorator"
DecorationZoneID
=
"dec-zone-edit"
runat
=
"server"
DecoratedControls
=
"All"
EnableRoundedCorners
=
"true"
/>
<
div
id
=
"dec-zone-edit"
style
=
"margin:0 auto 5px auto; width: 100% "
>
<
fieldset
>
<
legend
>Item Definition</
legend
>
<
div
style
=
"margin: 0 auto 5px auto"
>
<
div
style
=
"margin: 0 auto; float: left; height: 200px; width:30%"
>
<
fieldset
>
<
legend
>Manufacturer Information</
legend
>
<
table
> <
table
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboMfr"
OnDataBound
=
"Mfr_DataBound"
Label
=
"Manufacturer:"
EmptyMessage
=
"Choose Manufacturer"
Filter
=
"StartsWith"
DataSourceID
=
"objDataManufacturers"
runat
=
"server"
DataTextField
=
"MfrName"
AutoPostBack
=
"true"
Sort
=
"Ascending"
Width
=
"200px"
DataValueField
=
"MfrId"
AllowCustomText
=
"false"
OnSelectedIndexChanged
=
"RadComboMfr_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboBrand"
Label
=
"Brand:"
EmptyMessage
=
"Choose Brand"
Filter
=
"StartsWith"
runat
=
"server"
AutoPostBack
=
"true"
Width
=
"200px"
Sort
=
"Ascending"
AllowCustomText
=
"false"
OnSelectedIndexChanged
=
"RadComboBrand_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboSubBrand"
AllowCustomText
=
"false"
Label
=
"Sub Brand:"
EmptyMessage
=
"Choose Sub Brand"
Filter
=
"StartsWith"
runat
=
"server"
Sort
=
"Ascending"
Width
=
"200px"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
"MFR Custom #: "
></
asp:Label
>
<
telerik:RadTextBox
ID
=
"RadTextBox2"
runat
=
"server"
Width
=
"200px"
EmptyMessage
=
"Enter Custom Mfr Number"
></
telerik:RadTextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"text-align:right"
>
<
telerik:RadComboBox
ID
=
"RadComboPackaging"
Label
=
"Package Types:"
EmptyMessage
=
"Choose Package Types"
Filter
=
"StartsWith"
AllowCustomText
=
"false"
runat
=
"server"
CheckBoxes
=
"true"
Width
=
"200px"
DataSourceID
=
"objDataPackaging"
DataTextField
=
"Name"
DataValueField
=
"PackagingId"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
</
table
>
<
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"float:left"
>
<
telerik:RadButton
ID
=
"btnUpdate"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'>
</
telerik:RadButton
>
<
telerik:RadButton
ID
=
"btnCancel"
Text
=
"Cancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
>
</
telerik:RadButton
>
</
div
>
</
fieldset
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditColumn"
EditImageUrl
=
"~/Img/icons/table_edit.png"
ItemStyle-Width
=
"40px"
ItemStyle-HorizontalAlign
=
"Center"
/>
<
telerik:GridButtonColumn
ButtonType
=
"ImageButton"
CommandName
=
"Delete"
Text
=
""
UniqueName
=
"DeleteColumn"
ImageUrl
=
"~/Img/icons/delete.png"
ConfirmTextFields
=
"ItemId"
ConfirmTextFormatString
=
"Are you sure you want to delete {0}?"
HeaderStyle-Width
=
"25px"
/>
<
telerik:GridBoundColumn
DataField
=
"ItemId"
UniqueName
=
"ItemId"
HeaderText
=
"Item Id"
Visible
=
"true"
/>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
asp:ObjectDataSource
ID
=
"objDataManufacturers"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getCustomerManufacturers"
InsertMethod
=
"insertManufacturer"
UpdateMethod
=
"updateManufacturer"
DeleteMethod
=
"deleteManufacturer"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"MfrName"
DbType
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"MfrName"
DbType
=
"String"
/>
<
asp:Parameter
Name
=
"MfrId"
DbType
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"MfrId"
DbType
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataBrand"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getManufacturerBrands"
InsertMethod
=
"insertManufacturerBrand"
UpdateMethod
=
"updateManufacturerBrand"
DeleteMethod
=
"deleteManufacturerBrand"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"BrandName"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"BrandName"
DbType
=
"String"
/>
<
asp:Parameter
Name
=
"BrandId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"BrandId"
Type
=
"String"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"objDataSubBrand"
runat
=
"server"
TypeName
=
"NexgenWebClassLib.Controller.SIPWrapper"
SelectMethod
=
"getBrandSubBrands"
InsertMethod
=
"insertBrandSubBrand"
UpdateMethod
=
"updateBrandSubBrand"
DeleteMethod
=
"deleteBrandSubBrand"
>
<
SelectParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
</
SelectParameters
>
<
InsertParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"SubBrandName"
DbType
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"SubBrandName"
DbType
=
"String"
/>
<
asp:Parameter
Name
=
"SubBrandId"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
DeleteParameters
>
<
asp:SessionParameter
DbType
=
"String"
Name
=
"connectionString"
SessionField
=
"SelectedConnectionString"
/>
<
asp:Parameter
Name
=
"SubBrandId"
DbType
=
"Int32"
/>
</
DeleteParameters
>
</
asp:ObjectDataSource
>
protected
void
Mfr_DataBound(
object
sender, EventArgs e)
{
RadComboBox RCBMfr = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboMfr"
);
RCBMfr.SortItems();
RCBMfr.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Manufacturer--"
,
null
));
}
protected
override
void
Page_Load(
object
sender, EventArgs e)
{
if
(
base
.loggedIn())
{
base
.Page_Load(sender, e);
}
}
protected
void
RadComboMfr_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
ControlParameter ctrlParam =
new
ControlParameter();
ctrlParam.DbType = DbType.Int32;
ctrlParam.Name =
"MfrId"
;
ctrlParam.DefaultValue = e.Value;
ctrlParam.PropertyName =
"SelectedValue"
;
RadComboBox RCBBrand = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboBrand"
);
ctrlParam.ControlID = RCBBrand.UniqueID;
objDataBrand.SelectParameters[
"MfrId"
] = ctrlParam;
RadComboBox RCBSubBrand = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboSubBrand"
);
RCBBrand.Text =
""
;
RCBSubBrand.Items.Clear();
RCBSubBrand.Text =
""
;
if
(e.Value !=
""
)
{
RCBBrand.DataTextField =
"BrandName"
;
RCBBrand.DataValueField =
"BrandId"
;
RCBBrand.DataSource = objDataBrand;
RCBBrand.DataBind();
RCBBrand.SortItems();
RCBBrand.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Brand--"
,
null
));
}
}
protected
void
RadComboBrand_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e )
{
ControlParameter ctrlParam =
new
ControlParameter();
ctrlParam.DbType = DbType.Int32;
ctrlParam.Name =
"BrandId"
;
ctrlParam.DefaultValue = e.Value;
ctrlParam.PropertyName =
"SelectedValue"
;
RadComboBox RCBSubBrand = (RadComboBox)(sender
as
RadComboBox).NamingContainer.FindControl(
"RadComboSubBrand"
);
ctrlParam.ControlID = RCBSubBrand.UniqueID;
objDataSubBrand.SelectParameters[
"BrandId"
] = ctrlParam;
if
(e.Value !=
""
)
{
RCBSubBrand.Text =
""
;
RCBSubBrand.Items.Clear();
RCBSubBrand.Text =
""
;
RCBSubBrand.DataTextField =
"SubBrandName"
;
RCBSubBrand.DataSource = objDataSubBrand;
RCBSubBrand.DataBind();
RCBSubBrand.SortItems();
RCBSubBrand.Items.Insert(0,
new
RadComboBoxItem(
"--Select a Sub Brand--"
,
null
));
}
}
0
Hi Andrew,
Note that the edit form remains open after a postback so if you want to close it you have to do it manually. You could use the following approach to close multiple edit forms :
Regards,
Kostadin
Telerik
Note that the edit form remains open after a postback so if you want to close it you have to do it manually. You could use the following approach to close multiple edit forms :
if
(RadGrid1.EditItems.Count > 0)
{
foreach
(GridEditableItem item
in
RadGrid1.EditItems)
{
item.Edit =
false
;
}
}
Regards,
Kostadin
Telerik
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
0
Andrew
Top achievements
Rank 1
answered on 10 Jul 2013, 06:51 PM
Hello Kostadin,
I did try to add you suggestion to the ItemCommand event of the RadGrid but had no luck.
I have some of the comboboxes pre-populated ondatabound to values specified by an objectdatasource, after this change the cancel button does not work even after seemingly no postbacks (example: no changes to radcomboxes to select new values). The insertitem form does close on cancel before any changes have been made to the comboboxes, but also does not close on cancel once a combobox has been changed and performed an autopostback.
I have tried:
but have not had any luck getting forms to close properly.
I am creating setting my RadComboBox parameters and binding properties in ItemCreated and then binding in ItemDataBound of the RadGrid respectively.
Eventually I will be adding manual insert, update commands and currently autoinsert and autoupdate are set to false. Is there a place in the page creation/data binding event sequence that I need to rebind something or clear something after or before the postbacks in order to have the RadGrid acknowledge the cancel command?
Thank you for your help,
-Andrew
I did try to add you suggestion to the ItemCommand event of the RadGrid but had no luck.
I have some of the comboboxes pre-populated ondatabound to values specified by an objectdatasource, after this change the cancel button does not work even after seemingly no postbacks (example: no changes to radcomboxes to select new values). The insertitem form does close on cancel before any changes have been made to the comboboxes, but also does not close on cancel once a combobox has been changed and performed an autopostback.
I have tried:
protected
void
RadGridItems_ItemCommand(
object
source, GridCommandEventArgs e)
{
if
(e.CommandName == RadGrid.InitInsertCommandName)
//"Add new" button clicked
{
GridEditCommandColumn editColumn = (GridEditCommandColumn)RadGridItems.MasterTableView.GetColumn(
"EditColumn"
);
editColumn.Visible =
false
;
RadGridItems.MasterTableView.ClearEditItems();
RadGridItems.Rebind();
}
else
if
(e.CommandName == RadGrid.UpdateCommandName)
{
GridEditFormItem form = (GridEditFormItem)e.Item;
updateItemGridParameters(source, form, objDataItems.UpdateParameters);
//TODO Transfer values to datasource
}
else
if
(e.CommandName == RadGrid.PerformInsertCommandName)
{
GridEditFormInsertItem form = (GridEditFormInsertItem)e.Item;
updateItemGridParameters(source, form, objDataItems.InsertParameters);
GridEditableItem editedItem = e.Item
as
GridEditableItem;
//TODO Transfer values to datasource
}
else
if
(e.CommandName == RadGrid.CancelCommandName)
{
GridEditCommandColumn editColumn = (GridEditCommandColumn)RadGridItems.MasterTableView.GetColumn(
"EditColumn"
);
if
(!editColumn.Visible)
editColumn.Visible =
true
;
//RadGridItems.MasterTableView.ClearEditItems();
//RadGridItems.Rebind();
}
else
{
GridEditCommandColumn editColumn = (GridEditCommandColumn)RadGridItems.MasterTableView.GetColumn(
"EditColumn"
);
if
(!editColumn.Visible)
editColumn.Visible =
true
;
}
}
but have not had any luck getting forms to close properly.
I am creating setting my RadComboBox parameters and binding properties in ItemCreated and then binding in ItemDataBound of the RadGrid respectively.
Eventually I will be adding manual insert, update commands and currently autoinsert and autoupdate are set to false. Is there a place in the page creation/data binding event sequence that I need to rebind something or clear something after or before the postbacks in order to have the RadGrid acknowledge the cancel command?
Thank you for your help,
-Andrew
0
Andrew
Top achievements
Rank 1
answered on 12 Jul 2013, 03:27 PM
Problem behavior has been resolved. There was an issue with the ObjectDataSource parameter list having a ControlParameter persisted that consisted of a control that was no longer available after the edit form was closed on cancel. This was only noticed after turning the ajax manager off for the radgrid because the grid was hiding the exception (and subsequently doing nothing because there was an exception thrown).