亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GridView合并單元格萬能版(包括模板列)

發布時間:2020-07-23 14:12:41 來源:網絡 閱讀:1600 作者:l29550242 欄目:開發技術

今天修改舊的項目,發現之前用到的gridview合并單元格代碼不適用于模板列。做了修改之后記錄下來。
兩種方法,第一種適用于所有情況,第二種適用于合并依據列非模板列。
兩種方法如下:
方法一:

    /// <summary>
    /// 合并GridView中某列相同信息的行(單元格)   包含模板列  根據ID=rowspanid 的hiddenfield控件的值來合并。需要合并的 單元格需加上這個控件。根據控件值合并。可以將控件放在某一列,也可以放在每一列。取值的時候分開就行。此方法適合任意列,特別是模板列 無法取cell.text的時候
    /// </summary>
    /// <param name="GridView1">GridView</param>
    /// <param name="cellNums">合并第幾列</param>
    /// <param name="rowspanid">合并依據控件ID,這里用的hiddenfield控件。只需將ID=rowspanid的hiddenfield控件放在單元格里即可</param>
    public static void GroupRows(GridView GridView1, int[] cellNums, string rowspanid = "hfrowspan")
    {
        foreach (int cellNum in cellNums)
        {
            int i = 0, rowSpanNum = 1;

            while (i < GridView1.Rows.Count - 1)
            {
                GridViewRow gvr = GridView1.Rows[i];

                for (++i; i < GridView1.Rows.Count; i++)
                {
                    GridViewRow gvrNext = GridView1.Rows[i];
                    if (((HiddenField)gvr.Cells[cellNum].FindControl(rowspanid)).Value == ((HiddenField)gvrNext.Cells[cellNum].FindControl(rowspanid)).Value)
                    {
                        gvrNext.Cells[cellNum].Visible = false;
                        rowSpanNum++;
                    }
                    else
                    {
                        gvr.Cells[cellNum].RowSpan = rowSpanNum;
                        rowSpanNum = 1;
                        break;
                    }

                    if (i == GridView1.Rows.Count - 1)
                    {
                        gvr.Cells[cellNum].RowSpan = rowSpanNum;
                    }
                }
            }

        }
    }

方法二:

  /// <summary>
    /// 根據某一列合并其他列。依據的列不能是模板列,否則請用上一個方法↑。
    /// </summary>
    /// <param name="GridView1">GridView</param>
    /// <param name="cellNums">合并第幾列,數組</param>
    /// <param name="byCellNum">依據第幾列</param>
    public static void GroupRowsByOne(GridView GridView1, int[] cellNums, int byCellNum)
    {
        foreach (int cellNum in cellNums)
        {
            int i = 0, rowSpanNum = 1;

            while (i < GridView1.Rows.Count - 1)
            {
                GridViewRow gvr = GridView1.Rows[i];

                for (++i; i < GridView1.Rows.Count; i++)
                {
                    GridViewRow gvrNext = GridView1.Rows[i];
                    //if (((HiddenField)gvr.Cells[cellNum].FindControl(rowspanid)).Value == ((HiddenField)gvrNext.Cells[cellNum].FindControl(rowspanid)).Value)
                    if(gvr.Cells[byCellNum].Text== gvrNext.Cells[byCellNum].Text)
                    {
                        gvrNext.Cells[cellNum].Visible = false;
                        rowSpanNum++;
                    }
                    else
                    {
                        gvr.Cells[cellNum].RowSpan = rowSpanNum;
                        rowSpanNum = 1;
                        break;
                    }

                    if (i == GridView1.Rows.Count - 1)
                    {
                        gvr.Cells[cellNum].RowSpan = rowSpanNum;
                    }
                }
            }

        }
    }
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇源县| 宜春市| 扎鲁特旗| 永清县| 贵溪市| 天峨县| 南郑县| 陇川县| 道孚县| 澄江县| 丽江市| 汝南县| 赤峰市| 新平| 胶州市| 准格尔旗| 新兴县| 徐汇区| 泽库县| 淄博市| 永城市| 三都| 社会| 宁安市| 政和县| 柘城县| 万盛区| 宜城市| 济阳县| 宜黄县| 海安县| 正镶白旗| 淮南市| 通河县| 桦南县| 泰州市| 峨山| 遂平县| 分宜县| 衡东县| 凤冈县|