c# – Gridview将类似的行组合在一起

我有一个gridview,它使用EntityDataSource绑定到数据库中的表.我只使用db中与where子句对应的项填充gridview.

FRUIT       COLOR   NUMB.SEEDS
ORANGE      ORANGE  3
APPLE       RED     4
ORANGE      ORANGE  2
STRAWBERRY  RED     0

我想要的是相对于NUMB.SEEDS总结相似的行,如下所示:

FRUIT       COLOR   NUMB.SEEDS
ORANGE      ORANGE  5
APPLE       RED     4
STRAWBERRY  RED     0

有些暗示吗?我不知道从哪里开始.

这是我把where子句放在哪里:

<asp:EntityDataSource ID="MyEfDataSource"
    runat="server" ContextTypeName="MyContext"
    EntitySetName="Fruits" EntityTypeFilter="Fruit"
    AutoPage="true" AutoSort="true" Where="it.idName = @idName">
    <WhereParameters>
        <asp:ControlParameter ControlID="ddlFruit" PropertyName="SelectedValue" Type="Int32" DefaultValue="0" Name="idName" />
    </WhereParameters>
    </asp:EntityDataSource>

最佳答案 在SQL中,您将使用GROUP BY子句.我认为这应该在EntityDataSource中工作:

<asp:EntityDataSource ID="MyEfDataSource"
    runat="server" ContextTypeName="MyContext"
    EntitySetName="Fruits" EntityTypeFilter="Fruit"
    AutoPage="true" AutoSort="true" 
    Select="it.FRUIT, it.COLOR, SUM(it.[NUMB.SEEDS])"
    Where="it.idName = @idName"
    GroupBy"it.FRUIT, it.COLOR" >
    <WhereParameters>
        <asp:ControlParameter ControlID="ddlFruit" PropertyName="SelectedValue" Type="Int32" DefaultValue="0" Name="idName" />
    </WhereParameters>
    </asp:EntityDataSource>

请注意,我根据您在问题中输入的列,在“选择”和“位置”表达式中调用字段.它们在您的实际数据源中可能有所不同.

点赞