【问题标题】:telerik radgrid control detail screen not refreshing when click on master recordTelerik radgrid 控制详细信息屏幕在单击主记录时不刷新
【发布时间】:2012-06-07 18:40:28
【问题描述】:

我的 aspx 页面上有两个 radgrids:Log 和 LogDetails。

当我单击日志网格上的一行时,我希望 LogDetails 使用 LogGrid 的 logid 刷新。但是详细信息网格并不令人耳目一新。

请帮助我。这是我的代码。谢谢

     protected void OnLogGridNeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        var logs = LogManager.FindLog();

        var sortedlogs = from l in logs
                         orderby l.LogId descending
                         select l;

        grdLogGrid.DataSource = sortedlogs;

    }

    protected void OnLogDetailGridNeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        int logid = 0; 

        if (grdLogGrid.SelectedValue != null)
            logid = Convert.ToInt32(grdLogGrid.SelectedValue.ToString());


        var logDetails = LogManager.FindLogDetail();
        var logDetail = from ld in logDetails
                        where ld.LogId == logid
                        select ld;

        grdLogDetailGrid.DataSource = logDetail;

    }

    protected void OnLogGridItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
    {
        grdLogDetailGrid.Rebind();
    }

【问题讨论】:

    标签: c# asp.net telerik-grid


    【解决方案1】:

    要将LogId 值传递给详细信息网格,最好使用MasterTableView 的DataKeyNames 属性设置唯一标识符属性名称和主RadGrid 的SelectedValue 属性以在代码隐藏中获取它的值。查看此演示:Grid / Master/Detail Grids

    当您使用高级数据绑定时,您可以访问主网格的 SelectedValue 属性,而无需处理主网格的 ItemCommand 事件处理程序。

    【讨论】:

    • 在我的 OnLogDetailGridNeedDataSource 中,我能够通过 Convert.ToInt32(grdLogGrid.SelectedValue.ToString()) 获取 logid。现在我的挑战是能够在选择主网格时刷新详细网格有新鲜的数据。
    • 阅读我仔细建议的演示说明。
    猜你喜欢
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2020-04-03
    • 2015-06-27
    • 1970-01-01
    相关资源
    最近更新 更多