在C#中显示RadGrid中的空记录

时间:2013-10-12 11:00:48

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

朋友我正在使用一个级别的层次结构网格。我正在执行以下代码

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

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

enter image description here

现在我必须在代码中更改以避免那些“无子记录显示”行。有什么财产对我有用吗?

2 个答案:

答案 0 :(得分:2)

您设置了两件事ShowHeadersWhenNoRecordsNoDetailRecordsText。对于子网格,您可以GridTableView嵌套在DetailTables内,但如果您不想在主网格上使用标题,也可以在MasterTableView上设置该网格。

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

答案 1 :(得分:1)

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

<telerik:GridTableView NoDetailRecordsText="">