我想获取 RadGrid 中选定复选框的值。 我有一个 radgrid、文本框和一个按钮,如下所示:
this._RadAjaxPanel.Controls.Add(RadGrid1);
this._RadAjaxPanel.Controls.Add(TextBox1);
this._RadAjaxPanel.Controls.Add(Buton1);
radgrid id 设置为 RadGrid1 且
Button1.OnClientClick = "GetSelectedItems("+ this._RadGrid1 +")";
单击按钮时,将调用 JavaScript,我想知道已选择哪些行。 javascript函数如下,但不正确:
function GetSelectedItems(grid) {
var selectedRows = grid.get_selectedItems();
for (var i = 0; i < selectedRows.length; i++) {
var row = selectedRows[i];
var cell = grid.getCellByColumnUniqueName(row, "CategoryID")
//here cell.innerHTML holds the value of the cell
}
}
请告诉我如何获取所选行。
最佳答案
以下是如何获取复选框是否被选中。我使用带有 CheckBox 的 GridTemplateColumn 作为 ItemTemplate,Telerik 始终建议在 GridCheckBoxColumn 上使用它。
技巧是获取单元格中的内部 HTML,并解析出控件的名称。单元格值类似于 id=cbxRow
,其中 CheckBox 控件的 ID 为 cbxRow
,如下例所示。
JavaScript:
var grid = $find("RadGrid1");
var masterTableView = grid.get_masterTableView();
var selectedRows = masterTableView.get_selectedItems();
for (var i = 0; i < selectedRows.length; i++) {
var cellCB = masterTableView.getCellByColumnUniqueName(row, "CB");
var innerCB = cellCB.innerHTML;
var locId = innerCB.indexOf("id=");
var locIdEnd = innerCB.indexOf("\" ", locId);
var idVal = innerCB.substr(locId + 4, locIdEnd - locId - 4);
var cbx = document.getElementById(idVal);
if (cbx.checked) {
alert("The checkbox is checked!");
}
else {
alert("The checkbox is not checked!");
}
}
ASPX:
<telerik:GridTemplateColumn UniqueName="CB" ...>
<ItemTemplate>
<asp:CheckBox ID="cbxRow" runat="server">
</ItemTemplate>
</telerik:GridTemplateColumn>
关于c# - 在 RadGrid 客户端获取选定的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125123/