繁体   English   中英

Telerik RadGrid->页脚中(nvarchar)列的总和如何?

[英]Telerik RadGrid -> How SUM of (nvarchar) Column in footer?

我的radgrid(telerik)如下所示:

    <telerik:RadGrid ID="grdUsers" runat="server" GridLines="None" Skin="Vista" DataSourceID="sdsUsers"
        AllowPaging="True" AutoGenerateColumns="False" OnItemCommand="grdUsers_ItemCommand"
        Width="900px" AllowSorting="True" PageSize="20">
        <MasterTableView AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="sdsUsers">
            <DetailTables>
                <telerik:GridTableView runat="server" DataKeyNames="ID,User_ID" DataSourceID="sdsDownload"
                    ShowFooter="True">
                    <ParentTableRelation>
                        <telerik:GridRelationFields DetailKeyField="User_ID" MasterKeyField="ID" />
                    </ParentTableRelation>
                    <CommandItemSettings ExportToPdfText="Export to Pdf" />
                    <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                        <HeaderStyle Width="20px" />
                    </RowIndicatorColumn>
                    <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                        <HeaderStyle Width="20px" />
                    </ExpandCollapseColumn>
                    <Columns>
                        <telerik:GridBoundColumn DataField="ID" DataType="System.Int32" FilterControlAltText="Filter ID column"
                            HeaderText="ID" ReadOnly="True" SortExpression="ID" UniqueName="ID">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="User_ID" DataType="System.Int32" FilterControlAltText="Filter User_ID column"
                            HeaderText="User_ID" SortExpression="User_ID" UniqueName="User_ID">
                        </telerik:GridBoundColumn>

                        <telerik:GridBoundColumn DataField="FileSize" FilterControlAltText="Filter FileSize column"
                            HeaderText="FileSize" SortExpression="FileSize" UniqueName="FileSize" Aggregate="Sum">
                        </telerik:GridBoundColumn>
                    </Columns>
                    <EditFormSettings>
                        <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                        </EditColumn>
                    </EditFormSettings>
                </telerik:GridTableView>
            </DetailTables>
            <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
            <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                <HeaderStyle Width="20px"></HeaderStyle>
            </RowIndicatorColumn>
            <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" Visible="True">
                <HeaderStyle Width="20px"></HeaderStyle>
            </ExpandCollapseColumn>
            <Columns>
                <telerik:GridBoundColumn DataField="ID" FilterControlAltText="Filter ID column" HeaderText="ID"
                    SortExpression="ID" UniqueName="ID">
                    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="FirstName" FilterControlAltText="Filter FirstName column"
                    HeaderText="FirstName" SortExpression="FirstName" UniqueName="FirstName">
                    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                </telerik:GridBoundColumn>
            </Columns>
            <EditFormSettings>
                <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                </EditColumn>
            </EditFormSettings>
        </MasterTableView>
        <FilterMenu EnableImageSprites="False">
        </FilterMenu>
        <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
        </HeaderContextMenu>
    </telerik:RadGrid>

这是一个具有两个表(一个主表和一个细节)的层次结构网格。
我在详细信息表中有一列名为(FileSize)!
我数据库中的这一列是nvarchar(50),我想在明细表的页脚中包含文件大小的总和。
但是在此详细信息表中启用页脚并将FileSize Column的聚合设置为Sum之后,我收到一条错误消息,提示您不能拥有对象值的总和!
有没有办法对FileSize Column求和?

aspx:

<DetailTables>
  <telerik:GridTableView Name="ChildGrid">
    <Columns>
      <telerik:GridTemplateColumn Aggregate="None" UniqueName="Name1">
        <ItemTemplate>
          <asp:Label ID="Label2" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
        </ItemTemplate>
      </telerik:GridTemplateColumn>
    </Columns>
  </telerik:GridTableView>
</DetailTables>

C# :

void RadGrid1_PreRender(object sender, EventArgs e)
{
  foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
  {
    if (item.HasChildItems)
    {
      bool flag = item.Expanded;
      item.Expanded = true;
      int csum = 0;
      foreach (GridDataItem citem in item.ChildItem.NestedTableViews[0].Items)
      {
        csum += Convert.ToInt32((citem.FindControl("Label2") as Label).Text);
      }

      GridFooterItem cfooter = (GridFooterItem)item.ChildItem.NestedTableViews[0].GetItems(GridItemType.Footer)[0];
      cfooter["Name1"].Text = csum.ToString();
      item.Expanded = flag;
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM