最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Asp.net_Table控件の單元格縱向合并示例

 更新時(shí)間:2013年07月31日 11:32:19   作者:  
本文為大家介紹下如何實(shí)現(xiàn)動態(tài)生成表,同一列中數(shù)據(jù)相同的單元格需要合并,具體實(shí)現(xiàn)如下,由此需求的朋友可以參考下,希望對大家有所幫助

業(yè)務(wù)需要,動態(tài)生成表,同一列中數(shù)據(jù)相同的單元格需要合并。
解決方案,創(chuàng)建Table控件處理類,代碼如下:

復(fù)制代碼 代碼如下:

/// <summary>表格控件相關(guān)操作類
/// </summary>
public static class aspTable
{
/// <summary>合并行
/// </summary>
/// <remarks>版權(quán)信息:http://www.qqextra.com,http://t.qq.com/ls_man,http://blog.csdn.net/ls_man 2013-06-21 14:20:36</remarks>
/// <param name="tbl">Table</param>
/// <param name="startRow">起始行</param>
/// <param name="endRow">結(jié)束行</param>
/// <param name="colIndex">要合并的列索引</param>
public static void SetRowSpan(Table tbl, int startRow, int endRow, int colIndex)
{
int countRowSpan = 0;
int spanRow = startRow;
string spanText = tbl.Rows[startRow].Cells[colIndex].Text;
for (int rowIndex = startRow; rowIndex <= endRow; rowIndex++)
{
string currentText = tbl.Rows[rowIndex].Cells[colIndex].Text;
//內(nèi)容是否相同
if (currentText == spanText)
{
countRowSpan++;
//移除被合并的單元格
if (rowIndex != spanRow)
{
tbl.Rows[rowIndex].Cells.RemoveAt(colIndex);
}
}
else
{
//合并
tbl.Rows[spanRow].Cells[colIndex].RowSpan = countRowSpan;
//從此行再向下比較(重置)
countRowSpan = 0;
spanRow = rowIndex--;
spanText = currentText;
}
}
//合并最后一項(xiàng)
tbl.Rows[spanRow].Cells[colIndex].RowSpan = countRowSpan;
}
/// <summary>合并行,支持多列
/// </summary>
/// <remarks><SPAN style="FONT-FAMILY: Arial, Helvetica, sans-serif">版權(quán)信息:http://www.qqextra.com,http://t.qq.com/ls_man,http://blog.csdn.net/ls_man</SPAN><SPAN style="FONT-FAMILY: Arial, Helvetica, sans-serif"> 2013-06-21 15:24:34</remarks></SPAN>
/// <param name="tbl">Table</param>
/// <param name="startRow">起始行</param>
/// <param name="endRow">結(jié)束行</param>
/// <param name="colIndex">要合并的列索引</param>
public static void SetRowSpans(Table tbl, int startRow, int endRow, params int[] colIndexs)
{
ArrayList al = new ArrayList(colIndexs);
al.Sort();
for (int i = al.Count - 1; i >= 0; i--)
{
SetRowSpan(tbl, startRow, endRow, (int)al[i]);
}
}
}

需要注意的幾點(diǎn),起始行一般設(shè)置為1,因?yàn)?是標(biāo)題行;結(jié)束行一般設(shè)置為Table的總行數(shù)-1即可(最后一行)。

相關(guān)文章

最新評論

大同市| 宜都市| 观塘区| 嵩明县| 霍林郭勒市| 华宁县| 台湾省| 塔城市| 历史| 卢龙县| 登封市| 南岸区| 云龙县| 西乌| 阿图什市| 简阳市| 随州市| 孟州市| 仙桃市| 吉林省| 财经| 古蔺县| 富锦市| 莆田市| 盱眙县| 大港区| 威宁| 恩平市| 南平市| 柳河县| 都安| 剑阁县| 辛集市| 从江县| 黑河市| 镇远县| 阿拉善左旗| 黄骅市| 巫溪县| 西城区| 武汉市|