I am attempting to replicate the behavior found in this example:
http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Programming/SelectRowWithCheckBox/DefaultCS.aspx
I have everything setup virtually identically as far as I can tell with the exception that I am binding my datasource in the codebehind. What is happening is that whenever I click a checkbox it says "loading" then the box is unchecked and the row is not selected. I will post my code below just in case I have something wrong.
thanks
~David
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<telerik:RadAjaxManager ID="RadAjaxManager1" EnableAJAX="true" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="myTasksDG">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="myTasksDG" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid id="myTasksDG"
OnItemCreated="myTasksDG_ItemCreated"
ShowStatusBar="true"
runat="server"
AllowPaging="True"
AllowSorting="True"
PageSize="3"
AllowMultiRowSelection="true"
GridLines="None"
Skin="WebBlue"
AutoGenerateColumns="False"
OnPreRender="myTasksDG_PreRender">
<MasterTableView ShowFooter="True">
<Columns>
<telerik:GridBoundColumn visible="True" datafield="TICK_ID" readonly="True" headertext="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="False" datafield="APP_LOCATION" readonly="True" headertext="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="True" datafield="APP_USER" readonly="True" headertext="Submitted By:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="True" datafield="APP_WORKER" readonly="True" headertext="Assigned To:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="True" datafield="APP_NAME" readonly="True" headertext="Form Type:"></telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Time in Que:">
<ItemTemplate>
<b><font Color="<%#DataBinder.Eval(Container.DataItem , "itemColor")%>"> <%#DataBinder.Eval(Container.DataItem , "TIME_IN_QUE")%></font></b>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn">
<HeaderTemplate>
<asp:CheckBox id="headerChkbox" OnCheckedChanged="ToggleSelectedState" AutoPostBack="True" runat="server"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="CheckBox1" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" runat="server"></asp:CheckBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<PagerStyle Mode="NextPrevAndNumeric" />
</telerik:RadGrid>
protected void ToggleRowSelection(object sender, EventArgs e)
{
((sender as CheckBox).Parent.Parent as GridItem).Selected = (sender as CheckBox).Checked;
}
protected void myTasksDG_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
e.Item.PreRender += new EventHandler(myTasksDG_ItemPreRender);
}
}
private void myTasksDG_ItemPreRender(object sender, EventArgs e)
{
((sender as GridDataItem)["CheckBoxTemplateColumn"].FindControl("CheckBox1") as CheckBox).Checked = (sender as GridDataItem).Selected;
}
protected void ToggleSelectedState(object sender, EventArgs e)
{
if ((sender as CheckBox).Checked)
{
foreach (GridDataItem dataItem in myTasksDG.MasterTableView.Items)
{
(dataItem.FindControl("CheckBox1") as CheckBox).Checked = true;
dataItem.Selected = true;
}
}
else
{
foreach (GridDataItem dataItem in myTasksDG.MasterTableView.Items)
{
(dataItem.FindControl("CheckBox1") as CheckBox).Checked = false;
dataItem.Selected = false;
}
}
}
protected void myTasksDG_PreRender(object sender, EventArgs e)
{
string text = "Selected rows: " + myTasksDG.SelectedItems.Count;
myTasksDG.Controls.Add(new LiteralControl(string.Format("<span style='color:yellow;font-weight:bolder;'>{0}</span>", text)));
}
http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Programming/SelectRowWithCheckBox/DefaultCS.aspx
I have everything setup virtually identically as far as I can tell with the exception that I am binding my datasource in the codebehind. What is happening is that whenever I click a checkbox it says "loading" then the box is unchecked and the row is not selected. I will post my code below just in case I have something wrong.
thanks
~David
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<telerik:RadAjaxManager ID="RadAjaxManager1" EnableAJAX="true" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="myTasksDG">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="myTasksDG" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid id="myTasksDG"
OnItemCreated="myTasksDG_ItemCreated"
ShowStatusBar="true"
runat="server"
AllowPaging="True"
AllowSorting="True"
PageSize="3"
AllowMultiRowSelection="true"
GridLines="None"
Skin="WebBlue"
AutoGenerateColumns="False"
OnPreRender="myTasksDG_PreRender">
<MasterTableView ShowFooter="True">
<Columns>
<telerik:GridBoundColumn visible="True" datafield="TICK_ID" readonly="True" headertext="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="False" datafield="APP_LOCATION" readonly="True" headertext="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="True" datafield="APP_USER" readonly="True" headertext="Submitted By:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="True" datafield="APP_WORKER" readonly="True" headertext="Assigned To:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn visible="True" datafield="APP_NAME" readonly="True" headertext="Form Type:"></telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Time in Que:">
<ItemTemplate>
<b><font Color="<%#DataBinder.Eval(Container.DataItem , "itemColor")%>"> <%#DataBinder.Eval(Container.DataItem , "TIME_IN_QUE")%></font></b>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn">
<HeaderTemplate>
<asp:CheckBox id="headerChkbox" OnCheckedChanged="ToggleSelectedState" AutoPostBack="True" runat="server"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="CheckBox1" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" runat="server"></asp:CheckBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<PagerStyle Mode="NextPrevAndNumeric" />
</telerik:RadGrid>
protected void ToggleRowSelection(object sender, EventArgs e)
{
((sender as CheckBox).Parent.Parent as GridItem).Selected = (sender as CheckBox).Checked;
}
protected void myTasksDG_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
e.Item.PreRender += new EventHandler(myTasksDG_ItemPreRender);
}
}
private void myTasksDG_ItemPreRender(object sender, EventArgs e)
{
((sender as GridDataItem)["CheckBoxTemplateColumn"].FindControl("CheckBox1") as CheckBox).Checked = (sender as GridDataItem).Selected;
}
protected void ToggleSelectedState(object sender, EventArgs e)
{
if ((sender as CheckBox).Checked)
{
foreach (GridDataItem dataItem in myTasksDG.MasterTableView.Items)
{
(dataItem.FindControl("CheckBox1") as CheckBox).Checked = true;
dataItem.Selected = true;
}
}
else
{
foreach (GridDataItem dataItem in myTasksDG.MasterTableView.Items)
{
(dataItem.FindControl("CheckBox1") as CheckBox).Checked = false;
dataItem.Selected = false;
}
}
}
protected void myTasksDG_PreRender(object sender, EventArgs e)
{
string text = "Selected rows: " + myTasksDG.SelectedItems.Count;
myTasksDG.Controls.Add(new LiteralControl(string.Format("<span style='color:yellow;font-weight:bolder;'>{0}</span>", text)));
}
