加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在asp.net中获取radgrid telerik隐藏列的值

发布时间:2020-12-16 03:44:07 所属栏目:asp.Net 来源:网络整理
导读:我有一个radgrid,我隐藏Id列.现在我想在linkbutton click上获得它的价值.如果列可见,它可以正常工作 当它不可见时显示空白值.我的代码是 protected void RadGrid1_ItemCommand(object sender,Telerik.Web.UI.GridCommandEventArgs e){ if (e.CommandName ==
我有一个radgrid,我隐藏Id列.现在我想在linkbutton click上获得它的价值.如果列可见,它可以正常工作

当它不可见时显示空白值.我的代码是

protected void RadGrid1_ItemCommand(object sender,Telerik.Web.UI.GridCommandEventArgs e)
{
    if (e.CommandName == "Detail")
    {
        GridDataItem dataItm = e.Item as GridDataItem;

        string value = dataItm["Id"].Text;
    }
}

解决方法

请尝试使用以下代码段.

ASPX

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"
    OnItemCommand="RadGrid1_ItemCommand">
    <MasterTableView DataKeyNames="ID">
        <Columns>
            <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="ID" UniqueName="ID1" HeaderText="ID" Visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="ID" UniqueName="ID2" HeaderText="ID" Display="false">
            </telerik:GridBoundColumn>
            <telerik:GridTemplateColumn>
                <ItemTemplate>
                    <asp:Button ID="Button1" runat="server" CommandName="Detail" CommandArgument='<%# Eval("ID") %>' />
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

ASPX.CS

protected void RadGrid1_NeedDataSource(object sender,GridNeedDataSourceEventArgs e)
{
    dynamic data = new[] {
        new { ID = 1,Name ="Name1"},new { ID = 2,Name = "Name2"},new { ID = 3,Name = "Name3"},new { ID = 4,Name = "Name4"},new { ID = 5,Name = "Name5"}
    };

    RadGrid1.DataSource = data;

}

protected void RadGrid1_ItemCommand(object sender,GridCommandEventArgs e)
{
    if (e.CommandName == "Detail")
    {
        GridDataItem item = e.Item as GridDataItem;

        string strID = item.GetDataKeyValue("ID").ToString(); // We are able to get ID field value here
        string strID1 = item["ID1"].Text; // We are NOT able to get ID field value here Because column is Visible false
        string strID2 = item["ID2"].Text; // We are able to get ID field value here
        string strCommandArgument = e.CommandArgument.ToString(); // We are able to get ID field value here

    }
}

请使用Display属性代替Visible属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读