C# RadGrid获取[GridClientSelectColumn]所选项目
我想循环并从[GridClientSelectColumn]获取所有选中的复选框项,但即使选中了列,也没有任何行返回。谢谢你的帮助 .aspxC# RadGrid获取[GridClientSelectColumn]所选项目,c#,asp.net,telerik-grid,C#,Asp.net,Telerik Grid,我想循环并从[GridClientSelectColumn]获取所有选中的复选框项,但即使选中了列,也没有任何行返回。谢谢你的帮助 .aspx 我不确定你用的是什么版本的Telerik,但我知道不管是什么版本,RadGrid都会非常挑剔 Telerik网站上选择项目的演示如下: 这是他们用于演示的标记 <telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" AllowMultiRowSelection="true"
我不确定你用的是什么版本的Telerik,但我知道不管是什么版本,RadGrid都会非常挑剔 Telerik网站上选择项目的演示如下: 这是他们用于演示的标记
<telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" AllowMultiRowSelection="true"
runat="server" AllowSorting="True" GridLines="None" OnPreRender="RadGrid1_PreRender">
<MasterTableView>
<Columns>
<telerik:GridClientSelectColumn UniqueName="ClientSelectColumn">
</telerik:GridClientSelectColumn>
</Columns>
</MasterTableView>
<ClientSettings EnableRowHoverStyle="true">
<Selecting AllowRowSelect="True"></Selecting>
<ClientEvents OnRowMouseOver="RowMouseOver" />
</ClientSettings>
</telerik:RadGrid>
基于上述情况,我将检查:
您使用的是MasterTableView吗?如果没有,即使没有详细信息表,也可能希望尝试这种方法。如果RadGrid_1.MasterTableView.SelectedItems不起作用,您可以尝试迭代RadGrid_1.MasterTableView.Items并检查item.Selected为true的项目
我会假设在你上面的帖子中只是一个打字错误,但它应该是
希望有帮助。顺便说一句,他们网站上的演示代码是不正确的,因为他们甚至没有在他们的实时示例代码LOL中定义网格中的所有列。我就是这么做的:
For Each griditem1 As GridDataItem In RadGrid.MasterTableView.Items
If griditem1.Selected Then
Dim DocumentID As String = griditem1.OwnerTableView.DataKeyValues(griditem1.ItemIndex)("DocID").ToString
End If
<Columns>
<telerik:GridClientSelectColumn FilterControlAltText="Filter template_selected column"
UniqueName="template_selected">
</telerik:GridClientSelectColumn>
<telerik:GridBoundColumn FilterControlAltText="Filter ID column"
HeaderText="PHID" UniqueName="ID" Visible="False"
DataField="PHID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn FilterControlAltText="Filter Title column"
HeaderText="Title" UniqueName="Title" DataField="Title">
</telerik:GridBoundColumn>
</columns>
protected void btn_Click(object sender, EventArgs e)
{
string id;
bool chec;
foreach (GridDataItem item in RadGrid_1.SelectedItems)
{
CheckBox chk = (CheckBox)item["template_selected"].Controls[0];
title = item["Title"].Text;
chec = chk.Checked;
}
}
<telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" AllowMultiRowSelection="true"
runat="server" AllowSorting="True" GridLines="None" OnPreRender="RadGrid1_PreRender">
<MasterTableView>
<Columns>
<telerik:GridClientSelectColumn UniqueName="ClientSelectColumn">
</telerik:GridClientSelectColumn>
</Columns>
</MasterTableView>
<ClientSettings EnableRowHoverStyle="true">
<Selecting AllowRowSelect="True"></Selecting>
<ClientEvents OnRowMouseOver="RowMouseOver" />
</ClientSettings>
</telerik:RadGrid>
For Each griditem1 As GridDataItem In RadGrid.MasterTableView.Items
If griditem1.Selected Then
Dim DocumentID As String = griditem1.OwnerTableView.DataKeyValues(griditem1.ItemIndex)("DocID").ToString
End If