单击主记录时,telerik radgrid控制详细信息屏幕不刷新

时间:2012-06-07 18:40:28

标签: c# asp.net telerik-grid

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

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

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

     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();
    }

1 个答案:

答案 0 :(得分:2)

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

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