91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

榆中县| 正阳县| 富平县| 宁强县| 克什克腾旗| 蒙阴县| 呼和浩特市| 凌云县| 龙井市| 北安市| 普安县| 南华县| 五原县| 开平市| 平舆县| 姚安县| 绥芬河市| 卓资县| 田林县| 司法| 银川市| 玉山县| 灵川县| 南郑县| 错那县| 石屏县| 酉阳| 当雄县| 巧家县| 镇雄县| 旺苍县| 广西| 永登县| 莲花县| 唐山市| 苗栗县| 昭平县| 靖江市| 楚雄市| 榆社县| 鲁山县|