簡體   English   中英

gridview單元格合並並合並行

[英]gridview cells merging and sum merged rows

for (int rowIndex = GVDCNoConfirm.Rows.Count - 2; rowIndex >= 0; rowIndex--)
{
    GridViewRow currentRow = GVDCNoConfirm.Rows[rowIndex];
    GridViewRow previousRow = GVDCNoConfirm.Rows[rowIndex + 1];

    for (int i = 0; i < currentRow.Cells.Count; i++)
    {
        if (currentRow.Cells[i].Text == previousRow.Cells[i].Text)
        {
            if (previousRow.Cells[i].RowSpan < 2)
                currentRow.Cells[i].RowSpan = 2;
            else
                currentRow.Cells[i].RowSpan = previousRow.Cells[i].RowSpan + 1;
            previousRow.Cells[i].Visible = false;
        }
      if (row.Cells[6].Text == previousRow.Cells[6].Text)
                {
                    float currentvalue = 0;
                    currentvalue = Convert.ToSingle(row.Cells[5].Text);
                    float previousvalue = currentvalue + Convert.ToSingle(previousRow.Cells[5].Text);
                    row.Cells[5].Text = Convert.ToString(previousvalue);
                    previousRow.Cells[j].Visible = false;
                }
    }
}

我在RowDataBound中有這個代碼用於合並gridview行。 它的工作正常但是

         sno    name    amount   dcno    
          1     xxx     5000     888
                        2500     888
                        1000     1001
          2     yyy     5250     1002
                        2000      555
                        1250      555

在這個網格中我想總和(5000 + 2500)= 7500即相同的dcno 888和那樣(2000 + 1250)= 3250即同樣的dcno 555

所以我需要Out to like

         sno    name   amount   dcno
         1     xxx     7500     888
                       1000     1001
         2     yyy     5250    1002
                       3250     555

我試過這樣但沒有用,請任何人幫助我。

您可以將DataSource變為分組數據源。 例如:您當前的查詢如下所示:

Items.Select(t => new {t.sno, t.name, t.amount, t.dcno})

新的將是:

Items.Select(t => new {t.sno, t.name, t.amount, t.dcno})
     .GroupBy(t => new {t.sno, t.name, t.dcno})
     .Select(t => new {t.Key.sno, t.Key.name, t.Key.dcno, amount = t.Sum(a => a.amount)}

希望這有幫助

你不能在數據綁定之前准備你的源日期嗎? 如果我理解必須是dcno提交的'group by',對吧? 在這種情況下,您可以使用LINQ來准備數據。

組按求和LINQ到SQL-在-C-尖銳

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM