2017-05-09 15 views
0

グリッドビューに1つの列があり、日付と時刻が表示されます。しかし、私は時間が同じではないが、同じ日付に基づいて列をマージしたい。それを達成する方法?このコードと出力私はこれまでにしようとし、列datetimeの代わりに他の列のみをマージします。グリッドビューでセルdatetimeをマージする方法

public void GridView_Row_Merger(GridView gridView) 
{ 
    for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--) 
    { 
     GridViewRow currentRow = gridView.Rows[rowIndex]; 
     GridViewRow previousRow = gridView.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; 
      } 
     } 
    } 
} 
+0

3行A、B、Cがあるとします。 A&Bの日時列の日付は同じだが時間が異なる場合は、行Aを非表示にしたいと思いますか?実際に時間の部分は重要ですか?午前12時にリセットされた時間部分で行Bを表示するか、日付部分だけを表示してもよろしいですか? – Martheen

+0

いいえ、同じ日付の列にある場合は、1にマージされます。時間は問題ではありません。私は同じ日付でセルをマージしたい。しかし、このコードは同じ日付でも私の時間が違うので動作しません。時間を考慮せずにセルを読み込んでマージできるように日付から時間を削除する方法。日付だけを考慮する? – NFH

+0

@Martheenはい、申し訳ありません私はちょうど読んで、あなたの理解はtureです!いいえ、私は時間を考慮したくありません。日付のみ。このコードは時間を考慮しています。つまり、セルをマージしないのです。時間を表示する必要はありません、行Bの日付のみあなたは私を助けることができますか? – NFH

答えて

0

私はちょうど答えを得る!これがコードです。助けてくれてありがとう!

public void GridView_Row_Merger(GridView gridView) 
{ 
    for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--) 
    { 
     GridViewRow currentRow = gridView.Rows[rowIndex]; 
     GridViewRow previousRow = gridView.Rows[rowIndex + 1]; 
     string[] arra1 = currentRow.Cells[0].Text.Split(' '); 
     string[] arra2 = previousRow.Cells[0].Text.Split(' '); 
     currentRow.Cells[0].Text = arra1[0]; 
     previousRow.Cells[0].Text = arra2[0]; 
     if (currentRow.Cells[0].Text == previousRow.Cells[0].Text) 
     { 
      if (previousRow.Cells[0].RowSpan < 2) 
      { 
       currentRow.Cells[0].RowSpan = 2; 
      } 
      else 
      { 
       currentRow.Cells[0].RowSpan = previousRow.Cells[0].RowSpan + 1; 
      } 
      previousRow.Cells[0].Visible = false; 
     } 
    } 
} 
関連する問題