2014-11-20 51 views
0

目前我正在研究一個有一些有趣邏輯的網格。它目前的邏輯已經到位,以防止連續顯示重複的數據。檢查單元格與前一行的值

那是我的意思。我有一個多列的網格(10)。目前,在HtmlDataCellPrepared方法中設置一個進程來檢查單元格的值是否等於會話變量。如果是,則保留空白。以下是顯示發生情況的代碼。

settings.HtmlDataCellPrepared = (sender, e) => 
     { 
      if (e.DataColumn.FieldName == "ProgramArea") 
      { 
       if (HttpContext.Current.Session["QR_ProgramArea"] != null && 
        HttpContext.Current.Session["QR_ProgramArea"].ToString() == e.CellValue.ToString()) 
        e.Cell.Text = " "; 
       HttpContext.Current.Session["QR_ProgramArea"] = e.CellValue.ToString(); 
      } 

我的目標是替換此會話變量,因爲有些時候根本沒有在列中填充任何內容。我需要比較當前值與之前的行。任何幫助,將不勝感激。

回答

0

所以我想通過一些更多的研究後找到解決方案。消除Session變量的最簡單方法是查看前一行的數據以查看是否存在相同的值。

settings.HtmlDataCellPrepared = (sender, e) => 
{ 
    var grid = sender as MVCxGridView; 
    if (e.DataColumn.FieldName == "ProgramArea") 
    { 
     if (e.VisibleIndex - 1 >= 0) 
     { 
      var previousRow = grid.GetDataRow(e.VisibleIndex - 1); 
      if (e.CellValue.ToString() == previousRow["ProgramArea"].ToString()) 
       e.Cell.Text = " "; 
     } 
    } 

當然,你跳過第1行,但在那之後,檢查每一行,看看上一行有相同的數據。

相關問題