illumination
Top achievements
Rank 2
illumination
asked on 16 Feb 2011, 05:39 PM
I have a hierarchy grid with master and detail grid. I need to be able to insert and update the detail grid. There are 2 checkboxes that if one is checked then the other one should not be checked. How do I validate or make this happen? Please help.
Thanks!
Thanks!
9 Answers, 1 is accepted
0
illumination
Top achievements
Rank 2
answered on 16 Feb 2011, 09:17 PM
oncheckedchanged event, I kept having this error (please see image).
Please help me since I have tried to find all the right answer in forum and kb and still is not successful.
Thanks.
Please help me since I have tried to find all the right answer in forum and kb and still is not successful.
Thanks.
0
Princy
Top achievements
Rank 2
answered on 17 Feb 2011, 05:38 AM
Hello,
If you want only one CheckBox should be selected at a time, you can disable the other CheckBox like below.
ASPX:
C#:
Similarly apply the same logic to CheckedChanged event of second CheckBox.
Thanks,
Princy.
If you want only one CheckBox should be selected at a time, you can disable the other CheckBox like below.
ASPX:
<
DetailTables
>
<
telerik:GridTableView
>
<
Columns
>
<
telerik:GridTemplateColumn
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"CheckBox1"
runat
=
"server"
AutoPostBack
=
"True"
OnCheckedChanged
=
"CheckBox1_CheckedChanged"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"CheckBox2"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
C#:
Protected
Sub
CheckBox1_CheckedChanged(sender
As
Object
, e
As
EventArgs)
Dim
chkbox1
As
CheckBox =
DirectCast
(sender, CheckBox)
Dim
item
As
GridDataItem =
DirectCast
(chkbox1.NamingContainer, GridDataItem)
Dim
chkbox2
As
CheckBox =
DirectCast
(item.FindControl(
"CheckBox2"
), CheckBox)
chkbox2.Enabled =
Not
chkbox1.Checked
End
Sub
Similarly apply the same logic to CheckedChanged event of second CheckBox.
Thanks,
Princy.
0
illumination
Top achievements
Rank 2
answered on 17 Feb 2011, 02:33 PM
Thank you for the reply Princy.
How about if it is an edititemtemplate and not fro the itemtemplate in this detailtable? Because I need the insert and update function on the form template.
Thanks again.
How about if it is an edititemtemplate and not fro the itemtemplate in this detailtable? Because I need the insert and update function on the form template.
<
telerik:GridTemplateColumn
HeaderText
=
"Encumbrance"
SortExpression
=
"Encumbrance"
UniqueName
=
"Encumbrance"
DataField
=
"Encumbrance"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"cbxEncumbrance"
runat
=
"server"
Checked='<%# System.Convert.ToBoolean(Eval("Encumbrance").ToString()) %>'/>
</
ItemTemplate
>
<
EditItemTemplate
>
<
span
><
asp:CheckBox
ID
=
"cbxEncumbranceEdit"
runat
=
"server"
Text
=
"Encumbrance"
TextAlign
=
"Right"
AutoPostBack
=
"True"
Checked='<%# System.Convert.ToBoolean(Eval("Encumbrance").ToString()) %>' /></
span
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Expenditures"
SortExpression
=
"Expenditures"
UniqueName
=
"Expenditures"
DataField
=
"Expenditures"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"cbxExpenditures"
runat
=
"server"
Checked='<%# System.Convert.ToBoolean(Eval("Expenditures").ToString()) %>'/>
</
ItemTemplate
>
<
EditItemTemplate
>
<
span
><
asp:CheckBox
ID
=
"cbxExpendituresEdit"
runat
=
"server"
Text
=
"Expenditures"
TextAlign
=
"Right"
AutoPostBack
=
"True"
Checked='<%# System.Convert.ToBoolean(Eval("Expenditures").ToString()) %>'/></
span
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
Thanks again.
0
illumination
Top achievements
Rank 2
answered on 17 Feb 2011, 02:59 PM
I got this error when using this code.
Unable to cast object of type 'Telerik.Web.UI.GridEditFormItem' to type 'Telerik.Web.UI.GridDataItem'
Unable to cast object of type 'Telerik.Web.UI.GridEditFormItem' to type 'Telerik.Web.UI.GridDataItem'
on Dim
item As GridDataItem = DirectCast(cbxExpendituresEdit.NamingContainer, GridDataItem)
0
illumination
Top achievements
Rank 2
answered on 17 Feb 2011, 03:20 PM
I changed to this code:
And it works, the problem I'm having now is when I click the insert or update button I got this error:
e.Exception = {"Cannot insert the value NULL into column 'Encumbrance', table 'PurchaseOrder'; column does not allow nulls. UPDATE fails. The statement has been terminated."}
What should I do?
Protected Sub cbxEncumbranceEdit_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim cbxEncumbranceEdit As CheckBox = DirectCast(sender, CheckBox)
Dim item As GridEditFormItem = DirectCast(cbxEncumbranceEdit.NamingContainer, GridEditFormItem)
Dim cbxExpendituresEdit As CheckBox = DirectCast(item.FindControl("cbxExpendituresEdit"), CheckBox)
'cbxExpendituresEdit.Enabled = Not cbxEncumbranceEdit.Checked
cbxExpendituresEdit.Checked = True
cbxEncumbranceEdit.Checked = False
End Sub
e.Exception = {"Cannot insert the value NULL into column 'Encumbrance', table 'PurchaseOrder'; column does not allow nulls. UPDATE fails. The statement has been terminated."}
What should I do?
0
illumination
Top achievements
Rank 2
answered on 17 Feb 2011, 03:48 PM
I saw another posting that you answered to about similar problem so this is what I did based on your instruction which I put the code under: Protected Sub RadGridFunding_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGridFunding.ItemDataBound
But I got error (please see image).
Thank you.
If TypeOf e.Item Is GridEditFormItem AndAlso e.Item.IsInEditMode AndAlso Not e.Item.OwnerTableView.IsItemInserted Then
'item about to edit
Dim editItem As GridEditFormItem = DirectCast(e.Item, GridEditFormItem)
Dim item1 As GridDataItem = DirectCast(editItem.ParentItem, GridDataItem)
Dim chk1 As CheckBox = DirectCast(editItem.FindControl("cbxEncumbranceEdit"), CheckBox)
Dim parentchk1 As CheckBox = DirectCast(item1.FindControl("cbxEncumbranceEdit"), CheckBox)
Dim item2 As GridDataItem = DirectCast(editItem.ParentItem, GridDataItem)
Dim chk2 As CheckBox = DirectCast(editItem.FindControl("cbxExpendituresEdit"), CheckBox)
Dim parentchk2 As CheckBox = DirectCast(item2.FindControl("cbxExpendituresEdit"), CheckBox)
If parentchk1.Checked Then
chk1.Checked = parentchk1.Checked
chk1.Checked = True
chk2.Checked = False
ElseIf parentchk2.Checked Then
chk2.Checked = parentchk2.Checked
chk1.Checked = False
chk2.Checked = True
End If
End If
Thank you.
0
illumination
Top achievements
Rank 2
answered on 17 Feb 2011, 04:13 PM
Progress. I changed the code to this
and I have no "object error" anymore but I still can't update.
my error still: e.Exception = {"Cannot insert the value NULL into column ...."}
Please help.
Thanks.
If TypeOf e.Item Is GridEditFormItem AndAlso e.Item.IsInEditMode AndAlso Not e.Item.OwnerTableView.IsItemInserted Then
'item about to edit
Dim editItem As GridEditFormItem = DirectCast(e.Item, GridEditFormItem)
Dim chk1 As CheckBox = DirectCast(editItem.FindControl("cbxEncumbranceEdit"), CheckBox)
Dim chk2 As CheckBox = DirectCast(editItem.FindControl("cbxExpendituresEdit"), CheckBox)
If chk1.Checked Then
chk1.Checked = True
chk2.Checked = False
ElseIf chk2.Checked Then
chk1.Checked = False
chk2.Checked = True
End If
End If
my error still: e.Exception = {"Cannot insert the value NULL into column ...."}
Please help.
Thanks.
0
illumination
Top achievements
Rank 2
answered on 17 Feb 2011, 06:15 PM
Dear Princy,
To continue our conversation, please check my support ticket number 395198.
I posted a video file so you will be able to see the problem i'm having.
Thank you.
To continue our conversation, please check my support ticket number 395198.
I posted a video file so you will be able to see the problem i'm having.
Thank you.
0
illumination
Top achievements
Rank 2
answered on 17 Feb 2011, 09:33 PM
I have solved this problem by assigning value in initinsert and checkbox_checkchanged.
Thanks.
Thanks.