2012-03-29 61 views
2

我目前使用GridView來顯示錶格數據。我需要合併具有相同值的第一列中的單元格。目前我有PreRender事件中的代碼來爲我設置RowSpan屬性,並且它工作正常。ASP.net與合併行的網格分頁

問題是我不能使用分頁,因爲頁面將在第一個字段相等的部分中間分開。

我希望分頁記錄計數爲每個合併行計算一個,而不是每個子行一個。

這可能與GridView或其他一些jQuery網格?

+1

喜安德魯做了你有個爲此的解決方案。在合併行後,我在Asp.net中面臨與Gridview相同的問題。 – Venki 2015-01-06 13:36:07

+0

這個問題需要再次關注。 – Nicolas 2015-01-08 07:25:08

回答

0

而不是在UI級別處理合並,它會工作準備數據源的方式,你可以直接綁定到它?

基本上創建一個視圖模型,其中包含更簡單的格式綁定到數據。

GridView.DataSource() = vmAlreadyMergedAndReadtToGoOBject 
GridView.DataBind(); 

我不知道你在哪裏都可以從數據,但你不能建立綁定到您的網格編程基於結果集,你從你的源取回對象(數據庫?) 然後如果你通過組合相同的行值來構建該對象,則可以將該網格綁定到該對象上......不完全清楚你正在做什麼,但是這是首先想到的事情......

+0

我不知道在數據源中合併行的方式 - 您能否詳細說明一下? – Flash 2012-03-29 05:36:12

+0

更新的原始答覆 – TGH 2012-03-29 05:45:50

0
for (i = PagSize; i <= dt.Rows.Count; i++) 
{ 
    Curr = dt.Rows[i - 1]["Brand"].ToString(); 
    if (i < dt.Rows.Count) 
    { 
     Nxt = dt.Rows[i]["Brand"].ToString(); 
     diff = dt.Rows.Count - i; 
     if (Curr != Nxt) 
     { 
      DctPaging.Add(PageNum, i); 
      PageNum = PageNum + 1; 
      i = i + PagSize; 
      if (i >= dt.Rows.Count) 
      { 
       DctPaging.Add(PageNum, i); 
       break; 
      } 
     } 
    } 
} 

參考Click Here