在DevExpress XtraGrid v12.2中显示记录计数

时间:2014-06-21 11:33:01

标签: c# asp.net devexpress aspxgridview xtragrid

以下是我的基础EntityList类的一部分,其中包含一个网格。稍后将根据子实体填充网格和行。我需要在网格的页脚上显示行数,因此我使用的是TotalSummary

<dx:ASPxGridView runat="server" ID="grdMain" ClientInstanceName="grid" 
        KeyFieldName="ID" AutoGenerateColumns="false">                                   
    <settings showfooter="True"/>
    <TotalSummary>
        <dx:ASPxSummaryItem FieldName="ID" SummaryType="Count"/>
    </TotalSummary>
</dx:ASPxGridView>

问题是,在使用此基类的不同实体中,ID列的名称不同,例如InvoiceIDCustomerID等。所以,如何判断我希望它展示的Count网格是什么?即使我对指定的列具有相同的名称,该列也不会在网格中显示,因此显示该列计数的TotalSummaryItem将不会在网格中显示。

有没有办法告诉网格我需要它来显示Count行,而不是具有固定名称的指定列?

任何想法如何解决这个问题?非常感谢!

P.S。如果有帮助,我正在IListServer班级

中实施DataObject

1 个答案:

答案 0 :(得分:1)

documentation for FieldName property没有说明这一点,但它说了一些有助于解决问题的重要内容。

通过使用Custom获取SummaryType属性的值并处理CustomSummaryCalculate事件,您可以完全控制汇总项的计算方式。处理事件并根据需要计算行数。

另一个选项是在代码中添加摘要项,您可以在其中知道列的名称。我想当你创建网格并提供它的数据时,你可以找到所需列的名称。