【问题标题】:Showing empty record in RadGrid in C#在 C# 的 RadGrid 中显示空记录
【发布时间】:2013-10-12 11:00:48
【问题描述】:

朋友们,我正在使用一层层次结构网格。我正在做如下代码

protected DataSet GenerateRadGrid()
    {
        DataSet dsCollective = new DataSet();
        DataSet dsFirst = Library.ExecuteTag("SelectEHRMessage");
        if (dsFirst.HasRows())
        {
            DataTable dt = new DataTable();
            dt = dsFirst.Tables[0].Copy();
            dt.TableName = "MainMessage";
            dsCollective.Tables.Add(dt);
            foreach (DataRow row in dsCollective.Tables["MainMessage"].Rows)
            {
                var rootMessageID = row["MessageID"].ToFormatedInt64();
                DataSet dsSecond = Library.ExecuteTag("SelectParentReply", new KeyValuePair<string, object>("@0", rootMessageID));
                dsSecond.Tables[0].TableName = "MainReplies-" + rootMessageID;
                dsCollective.Tables.Add(dsSecond.Tables[0].Copy());
                DataRelation mainMessageRepliesRelation = new DataRelation("MainMessageReplies-" + rootMessageID, dsCollective.Tables["MainMessage"].Columns["MessageID"], dsCollective.Tables["MainReplies-" + rootMessageID].Columns["MessageID"]);
                dsCollective.Relations.Add(mainMessageRepliesRelation);

            }

        }
        return dsCollective;
    }

这是返回我与网格绑定的数据集的函数。现在的问题是网格也显示了我的空记录。我的意思是其中的关系不存在。如下:

现在我必须在代码中进行更改以避免那些“没有子记录显示”行。有适合我的房产吗?

【问题讨论】:

    标签: c# asp.net telerik radgrid rad-controls


    【解决方案1】:

    你设置了两个东西,ShowHeadersWhenNoRecords 和 NoDetailRecordsText。对于子网格,您可以在嵌套在DetailTables 内的GridTableView 上设置它,但如果您也不希望主网格上的标题,您也可以在MasterTableView 上设置它。

        <telerik:RadGrid ID="grdMain" runat="server">
            <MasterTableView ShowHeadersWhenNoRecords="false" NoDetailRecordsText="">
                <DetailTables>
                    <telerik:GridTableView ShowHeadersWhenNoRecords="false" NoDetailRecordsText="" />
                </DetailTables>
            </MasterTableView>
        </telerik:RadGrid>
    

    【讨论】:

    • 我在哪里添加这个。在 aspx 页面中,我只有 标签,而不是
    • @NomiAli 我添加了一个更完整的示例。我最初指的是 RadGrid 的 MasterTableView 中的 DetailTables 集合中的子 GridTableView。
    • 如果你想调整你的层次结构结果,你将无法使用AutoGenerateHierarchy,除非你在 OnDataBound 和 ItemCreated 事件中做一些魔术。
    • 看看 Telerik 网站上的这个演示:link 在底部,它显示了在不使用自动生成的情况下配置分层网格的标记。
    【解决方案2】:

    您可以将 NoDetailRecordsText 属性设置为空字符串

    <telerik:GridTableView NoDetailRecordsText=""> 
    

    【讨论】:

    • 中是否有 标签?尝试将 NoDetailRecordsText="" 属性放在那里。
    • 我只有: 在 aspx 上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 2019-06-08
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多