2016-12-20 7 views
1

AspxGridView를 사용하여 레코드를 표시하는 코드를 만들었습니다. 이제 바닥 글 및 그룹화에 대한 합계 (Column_Name), 개수 (Column_Name)를 표시하려고합니다.동적 바인딩을 사용하여 AspxGridView에서 바닥 글 요약 및 그룹 요약을 수행하는 방법?

protected void Page_Load(object sender, EventArgs e) 
{ 
if (IsPostBack) 
     { 
      ASPxGridView1.Visible = true; 
      string cs = ConfigurationManager.ConnectionStrings["HQMatajerConnectionString"].ConnectionString; 
      whereQuery = getWhereQuery(); 
      using (SqlConnection con = new SqlConnection(cs)) 
      { 
       string querysss = "select "+txtSelectedColumn.Text+ @" 
          FROM  [HQMatajer].[dbo].[Transaction] as transactions 
          RIGHT JOIN [HQMatajer].[dbo].[TransactionEntry] as transactionsEntry 
          ON transactions.TransactionNumber=transactionsEntry.TransactionNumber 
          INNER JOIN [HQMatajer].[dbo].[Item] as items 
          ON transactionsEntry.ItemID=items.ID 
          INNER JOIN [HQMatajer].[dbo].[Supplier] as suppliers 
          ON items.SupplierID=suppliers.ID 
          LEFT JOIN [HQMatajer].[dbo].[Department] as departments 
          ON departments.ID=items.DepartmentID 
          LEFT JOIN [HQMatajer].[dbo].[Category] as categories 
          ON categories.ID=items.CategoryID 
          where " + txtQuery.Text; 

       SqlCommand cmd = new SqlCommand(); 

       cmd.Connection = con; 
       cmd.CommandText = querysss; 
       con.Open(); 

       SqlDataAdapter sda = new SqlDataAdapter(cmd); 

       sda.Fill(ds); 

       ASPxGridView1.AutoGenerateColumns = true; 
       ASPxGridView1.DataSource = ds; 
       ASPxGridView1.DataBind(); 
      } 
     } 

당신은 나의 SQL 쿼리 문을 알 수 있습니다

<dx:ASPxGridView ID="ASPxGridView1" runat="server" > 
        <SettingsPager PageSize="50"> 
        </SettingsPager> 
        <Settings ShowFilterRow="True" ShowGroupPanel="True" ShowFooter="True" ShowGroupFooter="VisibleIfExpanded" /> 
        <SettingsCommandButton> 
         <ShowAdaptiveDetailButton ButtonType="Image"></ShowAdaptiveDetailButton> 

         <HideAdaptiveDetailButton ButtonType="Image"></HideAdaptiveDetailButton> 
        </SettingsCommandButton> 
        <SettingsDataSecurity AllowDelete="False" AllowEdit="False" AllowInsert="False" /> 
        <SettingsSearchPanel Visible="True" /> 
       </dx:ASPxGridView> 

C# 코드 :

이 내 코드입니다. 해당 사용자는 표시 할 열만 결정하십시오. select 문에서 column_name Price를 선택하는 경우 사용자가 그룹화 할 경우 모든 레코드 및 그룹화에 대해 바닥 글에 합계 (가격)를 표시해야합니다.

+0

LINQ to Entities를 사용하고 계십니까? 그리고 Entity Framework. –

답변

0

요약 항목을 C# 코드에 추가하고 모든 다시 게시에서 필드 이름을 변경할 수 있습니다. 예 : 바닥 글 요약 용

ASPxSummaryItem gs = new ASPxSummaryItem(); 
gs.FieldName = txtSelectedColumn.Text; 
gs.SummaryType = DevExpress.Data.SummaryItemType.Sum; 
this.ASPxGridView1.TotalSummary.Add(gs); 

필드 이름이 변경되지 않으면 이전 요약을 삭제하고 원하는 열에서 매번 새 요약을 추가 할 수 있습니다. 모든 그룹 요약에 대해 동일한 작업을 수행 할 수도 있습니다. 이것도 확인할 수 있습니다 https://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridView_GroupSummarytopichttps://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridView_TotalSummarytopic