I have a bound hidden control in a RadGrid that contains a BidID field. During the InsertCommand event, I want to set the value of this hidden control. I'm new to Telerik and for the life of me, I just can't figure this out.
The closest thing I could come up with was this but it's not correct. How do I access the value of a bound control, before the insert command is sent to SQL Server, and set a value?
Dim row As GridDataInsertItem = DirectCast(e.Item, GridDataItem)
row.Item("BidID").Text = intBidID
The closest thing I could come up with was this but it's not correct. How do I access the value of a bound control, before the insert command is sent to SQL Server, and set a value?
Dim row As GridDataInsertItem = DirectCast(e.Item, GridDataItem)
row.Item("BidID").Text = intBidID
5 Answers, 1 is accepted
0
Jayesh Goyani
Top achievements
Rank 2
answered on 02 Jul 2013, 09:32 AM
Hello,
1. EditMode="InPlace"
2. EditMode="EditForms"
If you want to display inside TextBox control then.
Thanks,
Jayesh Goyani
1. EditMode="InPlace"
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnItemDataBound="RadGrid1_ItemDataBound" OnNeedDataSource="RadGrid1_NeedDataSource"> <MasterTableView CommandItemDisplay="Top" EditMode="InPlace"> <Columns> <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID"> </telerik:GridBoundColumn> <telerik:GridEditCommandColumn> </telerik:GridEditCommandColumn> </Columns> </MasterTableView></telerik:RadGrid>Protected Sub RadGrid1_NeedDataSource(sender As Object, e As GridNeedDataSourceEventArgs) Dim data As dynamic = New () {New With { _ .ID = 1, _ .Name = "Name1" _ }, New With { _ .ID = 2, _ .Name = "Name2" _ }, New With { _ .ID = 3, _ .Name = "Name3" _ }, New With { _ .ID = 4, _ .Name = "Name4" _ }, New With { _ .ID = 5, _ .Name = "Name5" _ }} RadGrid1.DataSource = dataEnd SubProtected Sub RadGrid1_ItemDataBound(sender As Object, e As GridItemEventArgs) If TypeOf e.Item Is GridDataInsertItem AndAlso e.Item.IsInEditMode Then Dim item As GridEditableItem = TryCast(e.Item, GridEditableItem) item("ID").Text = "0" End IfEnd Sub2. EditMode="EditForms"
e.Item Is GridEditFormInsertItemIf you want to display inside TextBox control then.
TryCast(item("ID").Controls(0), TextBox).Text = "0"Thanks,
Jayesh Goyani
0
Jon
Top achievements
Rank 1
answered on 02 Jul 2013, 10:08 AM
Ok, this is working almost perfectly. One small question: There is a RadDropDownList that does a postback when the user selects a different item (for a cascading effect). When the postback occurs, the ID control loses its value. How can I force it to retain the value?
0
Jayesh Goyani
Top achievements
Rank 2
answered on 02 Jul 2013, 10:59 AM
Hello,
is this dropDownList is inside Grid?
If possible then please provide your code.
Thanks,
Jayesh Goyani
is this dropDownList is inside Grid?
If possible then please provide your code.
Thanks,
Jayesh Goyani
0
Jon
Top achievements
Rank 1
answered on 02 Jul 2013, 11:16 AM
Yes, it's a ddl within the grid. It is used to track Product Types.
When the postback occurs, the BidID is lost
<telerik:RadDropDownList ID="radddlProductTypes" runat="server" DataSourceID="sqlProductTypes" DataTextField="ProductType" DataValueField="ProductTypeID" SelectedValue='<%# Bind("ProductTypeID") %>' Skin="Forest" AutoPostBack="True" OnSelectedIndexChanged="radddlProductTypes_SelectedIndexChanged"></telerik:RadDropDownList>When the postback occurs, the BidID is lost
0
Jayesh Goyani
Top achievements
Rank 2
answered on 02 Jul 2013, 12:30 PM
Hello,
Please try with the below code snippet.
Thanks,
Jayesh Goyani
Please try with the below code snippet.
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnItemDataBound="RadGrid1_ItemDataBound" OnNeedDataSource="RadGrid1_NeedDataSource"> <MasterTableView CommandItemDisplay="Top" EditMode="InPlace"> <Columns> <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn> <EditItemTemplate> <telerik:RadDropDownList ID="radddlProductTypes" runat="server" DataSourceID="SqlDataSource1" DataTextField="AcademyName" DataValueField="AcademyID" SelectedValue='<%# Bind("ID") %>' AutoPostBack="True" OnSelectedIndexChanged="radddlProductTypes_SelectedIndexChanged"> </telerik:RadDropDownList> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridEditCommandColumn> </telerik:GridEditCommandColumn> </Columns> </MasterTableView> </telerik:RadGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:JayeshTestConnectionString %>" SelectCommand="SELECT [AcademyID], [AcademyName] FROM [AcademyDetail]"></asp:SqlDataSource>protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { dynamic data = new[] { new { ID = 1, Name ="Name1"}, new { ID = 2, Name = "Name2"}, new { ID = 3, Name = "Name3"}, new { ID = 4, Name = "Name4"}, new { ID = 5, Name = "Name5"} }; RadGrid1.DataSource = data; } protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataInsertItem && e.Item.IsInEditMode) { GridEditableItem item = e.Item as GridEditableItem; (item["ID"].Controls[0] as TextBox).Text = "99"; } } protected void radddlProductTypes_SelectedIndexChanged(object sender, DropDownListEventArgs e) { }Thanks,
Jayesh Goyani