Hi,
I have a Radgrid which contains one text box and one checkbox.
depending upon the value in textbox i want to disable the checkbox in the same row in RadGrid.
Please tell me how can I do it.
I tried but i cant access the correct property to disable the checkbox.
Please let me know the solutions
Bye
Thanks
I have a Radgrid which contains one text box and one checkbox.
depending upon the value in textbox i want to disable the checkbox in the same row in RadGrid.
Please tell me how can I do it.
I tried but i cant access the correct property to disable the checkbox.
Please let me know the solutions
Bye
Thanks
5 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 25 May 2011, 08:40 AM
Hello Brk,
You can achieve this by calling the javascript function from itemDataBound event. Here is a sample code.
C#:
Javascript:
corresponding aspx is:
Thanks,
Shinu.
You can achieve this by calling the javascript function from itemDataBound event. Here is a sample code.
C#:
protected void grdEmail_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item=(GridDataItem)e.Item; TextBox txt = (TextBox)item.FindControl("TxtBox"); if (txt.Text == "1")//Checking for the textBox value { string executeScript = "<script language='javascript'>function f(){setCheckBox('" + e.Item.ItemIndex + "'); Sys.Application.remove_load(f);}; Sys.Application.add_load(f);</script>"; Page.ClientScript.RegisterStartupScript(this.GetType(), "setCheckBox", executeScript ); } }Javascript:
function setCheckBox(index) { var grid = $find('<%=RadGrid1.ClientID %>'); var masterTable = grid.get_masterTableView(); var row = masterTable.get_dataItems()[index]; var chkBox = row.findElement("CheckBox1"); chkBox.disabled = true; }corresponding aspx is:
<telerik:GridTemplateColumn > <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" Checked="true" /> <asp:TextBox ID="TxtBox" runat="server" Text='<%#Eval("EmployeeID")%>'></asp:TextBox> </ItemTemplate></telerik:GridTemplateColumn>Thanks,
Shinu.
0
BRK
Top achievements
Rank 1
answered on 25 May 2011, 11:16 AM
Hi Shinu,
Its not working it is not even going into that javascript function.
Please tell me where I went wrong
Its not working it is not even going into that javascript function.
Please tell me where I went wrong
0
Shinu
Top achievements
Rank 2
answered on 26 May 2011, 06:06 AM
Hello Brk,
The code worked as expected at my end. I suppose you may not checking for the TextBox value correctly. Please make sure that you are checking for the value correctly and getting into the loop.
C#:
Hope it helps.
Please elaborate your scenario if it doesn't help.
Thanks,
Shinu.
The code worked as expected at my end. I suppose you may not checking for the TextBox value correctly. Please make sure that you are checking for the value correctly and getting into the loop.
C#:
if (give the condition here)//Checking for the textBox value { string executeScript = "<script language='javascript'>function f(){setCheckBox('" + e.Item.ItemIndex + "'); Sys.Application.remove_load(f);}; Sys.Application.add_load(f);</script>"; Page.ClientScript.RegisterStartupScript(this.GetType(), "setCheckBox", executeScript ); }Please elaborate your scenario if it doesn't help.
Thanks,
Shinu.
0
BRK
Top achievements
Rank 1
answered on 26 May 2011, 06:28 AM
Hi Shinu,
Yes I am not taking any condition here.
My scenario is In a grid there will two check boxes if one check-box is checked the another must be disabled or Invisible,
When I am implementing the code you sent it is telling that there is conversion problem cant convert string to double.
may be due to the index we gave so there I kept .ToString() to resolve.
After that too the it is not even going to the Javascript function it is telling that setCheckBox is undefined.
These are the problems I faced.
Please let me know if you have any solutions.
Yes I am not taking any condition here.
My scenario is In a grid there will two check boxes if one check-box is checked the another must be disabled or Invisible,
When I am implementing the code you sent it is telling that there is conversion problem cant convert string to double.
may be due to the index we gave so there I kept .ToString() to resolve.
After that too the it is not even going to the Javascript function it is telling that setCheckBox is undefined.
These are the problems I faced.
Please let me know if you have any solutions.
0
Shinu
Top achievements
Rank 2
answered on 27 May 2011, 08:39 AM
Hello,
Try the following code to achieve your scenario.
aspx:
C#:
JavaScript:
Thanks,
Shinu.
Try the following code to achieve your scenario.
aspx:
<telerik:GridTemplateColumn UniqueName="ToggleButton" DataField="bool"> <ItemTemplate> <asp:CheckBox ID="ChkBx1" runat="server" /> <asp:CheckBox ID="CheckBox1" runat="server" /> </ItemTemplate></telerik:GridTemplateColumn>C#:
protected void grdEmail_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; CheckBox chk = (CheckBox)item.FindControl("ChkBx1"); chk.Attributes.Add("onclick","disable('"+e.Item.ItemIndex+"')");//ataching the click event to the checkBox and passing the index } }JavaScript:
function disable(index) { var masterTable = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); var row = masterTable.get_dataItems()[index]; var chk1 = row.findElement("ChkBx1"); var chk2 = row.findElement("CheckBox1"); if (chk1.checked) { chk2.disabled = true; } else { chk2.disabled = false; } }Thanks,
Shinu.