1

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

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

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

在此处输入图像描述

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

4

2 回答 2

2

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

    <telerik:RadGrid ID="grdMain" runat="server">
        <MasterTableView ShowHeadersWhenNoRecords="false" NoDetailRecordsText="">
            <DetailTables>
                <telerik:GridTableView ShowHeadersWhenNoRecords="false" NoDetailRecordsText="" />
            </DetailTables>
        </MasterTableView>
    </telerik:RadGrid>
于 2013-10-12T11:14:46.283 回答
1

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

<telerik:GridTableView NoDetailRecordsText=""> 
于 2013-10-12T11:08:49.943 回答