Telerik获取所选ID(从Radgrid选择项目中获取数据)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Telerik获取所选ID(从Radgrid选择项目中获取数据)相关的知识,希望对你有一定的参考价值。

我可以获得gridview的选定索引但我想获得网格内的实际数据。我想在网格中选择一行,并能够访问“Client Id”列的实际数据值。网格工作正常,我可以访问SelectedIndexChanged事件。然后,我一直在努力寻找获得网格中显示的信息的方法。任何帮助将不胜感激。

同样,我需要访问代码隐藏在网格中显示的所有数据。

答案

这就是数据键的用途。只需将要访问的列指定为数据键,如下例所示。

<telerik:RadGrid ID="RadGrid1" runat="server" ...>
    <MasterTableView DataKeyNames="Column1, Column2, Column3" ...>
        ...
    </MasterTableView>
</telerik>

在标记中分配了数据密钥后,您可以逐行代码检查或使用SelectedValues属性访问它们。

if (RadGrid1.SelectedItems.Count > 0)
{
    //access a string value
    string column1 = RadGrid1.SelectedValues["Column1"].ToString();

    //access an integer value
    int column2 = (int)RadGrid1.SelectedValues["Column2"];
}
另一答案

你可以这样做:

foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
{
    if (item.selected == true)
        string mydata = item["ColumnName"].Text;
}

我建议你阅读这个网站上的文件http://www.telerik.com/help/aspnet/grid/grdaccessingcellsandrows.html;它将确保为Telerik组件提供很多帮助。

另一答案

建议使用DataKeys作为James Johnson。你不能在DataItem活动中访问GridDataItemSelectedIndexChanged属性。它将为null。根据Telerik documentation“只有当网格绑定到数据时,DataItem对象才可用。”

DateItem可用时,如在ItemCreated事件中,您可以对原始数据类型MyType进行强制转换:

private void RadGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if ((e.Item is GridDataItem)) {
        GridDataItem gridDataItem = (GridDataItem)e.Item;
        MyType dataItem = (MyType)gridDataItem.DataItem;
    }
}

以上是关于Telerik获取所选ID(从Radgrid选择项目中获取数据)的主要内容,如果未能解决你的问题,请参考以下文章

获取 Telerik RadGrid 的行

从 javascript 访问 Telerik RadGrid 编辑模式

如何确定导致Telerik RadGrid错误System.InvalidCastException的原因

telerik:RadGrid 在表格中编辑更新数据

导出到telerik radgrid的Excel

如何在radgrid中查找所选行的列值