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 = data
End
Sub
Protected
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
If
End
Sub
2. EditMode="EditForms"
e.Item
Is
GridEditFormInsertItem
If 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