Telerik Radgrid 控制详细信息屏幕在单击主记录时不刷新

本文关键字:记录 刷新 单击 Radgrid 控制 详细信息 屏幕 Telerik | 更新日期: 2023-09-27 18:36:34

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

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

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

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

Telerik Radgrid 控制详细信息屏幕在单击主记录时不刷新

若要LogId值传递到详细信息网格,最好使用 MasterTableView DataKeyNames属性来设置主 RadGrid 的唯一标识符属性名称和SelectedValue属性,以在代码隐藏中获取其值。查看此演示:网格/大纲/细节网格

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