編碼中表格相同列的內容合併展示?

程式設計師在編碼的過程中經常需要繪製表格,而表格相同的列重複顯示,頁面不簡潔也不美觀,如果通過程式控制頁面表格相同列的內容合併展示呢,以下我就分享一下我個人程式設計中的經驗

工具/原料

Microsoft Visual Studio

方法/步驟

由於本人平時習慣以C#進行程式設計,以下例子將以C#的語法展示,其他語言只要修改語法就可以,演算法還是可以使用的。

新建一個空白頁面,如下截圖,從工具箱中拖個table到頁面,詳見截圖2中標紅框。

編碼中表格相同列的內容合併展示

編碼中表格相同列的內容合併展示

以下是我在Table中增加的簡易內容,僅僅是為了展示效果。圖1是前臺展示效果,表格中 列1張三內容就重複展示,如果能夠合併展示,頁面就比較清晰簡潔。

編碼中表格相同列的內容合併展示

編碼中表格相同列的內容合併展示

頁面設計結束,接下來就是程式碼的編寫,先定義函式

///

/// 表格相同列的內容合併展示

///

///

///

private void GroupRows(Table gv, int cellNum)

{

}

函式中gv就是前臺定義的table的ID,cellnum就是要合併展示的列,注意這裡的列都是從0開始計數的

編碼中表格相同列的內容合併展示

函式體如下:

int i = 0, rowSpanNum = 1;

while (i < gv.Rows.Count - 1)

{

TableRow gvr = gv.Rows[i];

for (++i; i < gv.Rows.Count; i++)

{

TableRow gvrNext = gv.Rows[i];

if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)

{

gvrNext.Cells[cellNum].Visible = false;

rowSpanNum++;

}

else

{

gvr.Cells[cellNum].RowSpan = rowSpanNum;

rowSpanNum = 1;

break;

}

if (i == gv.Rows.Count - 1)

{

gvr.Cells[cellNum].RowSpan = rowSpanNum;

}

}

}

編碼中表格相同列的內容合併展示

函式呼叫 GroupRows(Table1, 0);其中Table1就是前臺定義的Table的ID,0就是隻針對第一列有相同內容的進行合併。

編碼中表格相同列的內容合併展示

到此結束,圖1 就是未合併前的效果,圖2 就是合併後的效果,合併後的頁面是不是更加簡單清楚呢,希望能夠在你的後續編碼能有所幫助。

編碼中表格相同列的內容合併展示

編碼中表格相同列的內容合併展示

過程, 表格, 頁面, 內容, 編碼,
相關問題答案