亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

動態改變gridview列寬度函數分享

2020-01-24 02:55:01
字體:
來源:轉載
供稿:網友

我通常用GridView綁定datatable,由于需要動態綁定到不同的datatable所以需要動態調整GridView的寬度。所以寫了這個函數實現該功能。GridView的寬度需要根據各個列中最大寬度來累加獲得。在求各個列的最大字符寬度的時候需要對中文和英文加以區分,因為字符串“序號”和“id”的length屬性都為2,但是顯示的時候一個漢字占據的寬度卻相當于2個英文字符。要想達到準確的顯示效果,我對含有漢字的字符串根據漢字的數目確定該字符串等價英文字符的長度,例如字符串“序號id”的length屬性為4,我自己通過函數獲得的長度為6.確定了每列的最大字符數后,累加即可獲得GridView的寬度字符,然后乘于一個字符在屏幕上的顯示寬度oneLetterLength常量后就是GridView寬度。

復制代碼 代碼如下:

public  void SetGridViewWidth(GridView gridview1)
        {
            int rowcount = gridview1.Rows.Count;   //行數
            int colcount = gridview1.Columns.Count;  //列數
            int i=0,j=0;
            int[] cellwidth = new int[colcount];   //數組用來存儲各個列的最大字符數
            int gridviewwidth = 0;  //GridView寬度
            Unit width = 0; 
            string temp = null;
            int tempLength = 0;

            for (i = 0; i < rowcount; i++)     //循環數據項,獲得各個列的最大字符寬度
            {
                for (j = 0; j < colcount; j++)
                {
                    temp = gridview1.Rows[i].Cells[j].Text;
                    tempLength = LengthOfLetter(temp);      //LengthOfLetter()返回含中文的字符串字符寬度,1個漢字2個字符寬
                    if (cellwidth[j] < tempLength)
                    {
                        cellwidth[j] = tempLength;        //存儲較大寬度值
                    }

                }
            }

          

            for (j = 0; j < colcount; j++)
            {
                if (gridview1.HeaderRow.Visible == true)      //如果GridView表頭可見,將表頭列寬參與比較                {
                    temp = gridview1.HeaderRow.Cells[j].Text;
                    tempLength = LengthOfLetter(temp);
                    if (cellwidth[j] < tempLength)
                    {
                        cellwidth[j] = tempLength;
                    }
                }

                if (gridview1.FooterRow.Visible == true)    //如果GridView表尾可見,將表尾列寬參與比較                {
                    temp = gridview1.FooterRow.Cells[j].Text;
                    tempLength = LengthOfLetter(temp);
                    if (cellwidth[j] < tempLength)
                    {
                        cellwidth[j] = tempLength;
                    }
                }

            }


            for (j = 0; j < colcount; j++)
            {
                if (gridview1.Columns[j].Visible == true)     //將顯示的列的各列最大字符寬度相加                {
                    gridviewwidth += cellwidth[j];
                }
            }

            width = gridviewwidth * oneLetterLength;  //GridView最大字符數乘于一個字符顯示寬度得到GridView顯示寬度
            if (gridview1.Width.Value < width.Value)    //如果在界面上已經設置了GridView的寬度,將動態求的寬度和頁面上的
               {                                                              //初始化寬度比較,如果初始化寬度較小則將寬度設置為新調整的寬度。
                     gridview1.Width = width;
                }

        }

 

       //含有中文的字符串等效英文字符串顯示長度

        public  int LengthOfLetter(string temp) 
        {
            int length = temp.Length;
            int newlength = temp.Length;

            for (int i = 0; i < length; i++)         //遍歷字符串每個字符
            {
                if (IsChineseLetter(temp, i))     //IsChineseLetter()判斷是否為中文字符,是則寬度加1
                {
                    newlength++;
                }
            }
            return newlength;

        }


   //判斷是否為中文字符
     public  bool  IsChineseLetter(string input,int index)
        {
            int code = 0;
            int chfrom = Convert.ToInt32("4e00", 16);    //范圍(0x4e00~0x9fff)轉換成int(chfrom~chend)
            int chend = Convert.ToInt32("9fff", 16);
            if (input != "")
            {
                code = Char.ConvertToUtf32(input, index);    //獲得字符串input中指定索引index處字符unicode編碼

               if (code >= chfrom && code <= chend)    
               {
                    return true;     //當code在中文范圍內返回true

                }
               else
               {
                     return false ;    //當code不在中文范圍內返回false
               }
            }

            return false;
        }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国语自产精品视频在线看| 精品人伦一区二区三区蜜桃免费| 久久久久国产视频| 久久久久久久久久久人体| 日韩女优人人人人射在线视频| 成人欧美一区二区三区黑人孕妇| 青青久久aⅴ北条麻妃| 久久久精品久久久久| 亲爱的老师9免费观看全集电视剧| 欧美日韩国产中字| 在线日韩日本国产亚洲| 亚洲欧美中文字幕在线一区| 欧日韩在线观看| 欧美成人亚洲成人日韩成人| 久久久久久久国产精品| 亚洲男人的天堂在线| 久久欧美在线电影| 亚洲欧美在线磁力| 国产精品美女视频网站| 中文字幕不卡av| 亚洲欧美一区二区三区在线| 国产中文欧美精品| 欧美激情一区二区三区成人| 久久精品国产2020观看福利| 欧美精品久久久久久久| 精品一区精品二区| 亚洲国产欧美精品| 亚洲成色777777女色窝| 国产精品青草久久久久福利99| 日本一区二区三区在线播放| 亚洲福利在线视频| 国产综合福利在线| 国产精品高清免费在线观看| 国内免费精品永久在线视频| 欧美成人免费va影院高清| 国产69精品久久久久久| 久久伊人精品一区二区三区| 欧美一区二粉嫩精品国产一线天| 欧美日韩国产在线播放| 国产精品91久久| 91网站在线看| 精品国产区一区二区三区在线观看| 国产午夜精品理论片a级探花| 欧美美女操人视频| 成人免费网站在线| 精品福利免费观看| 日韩综合视频在线观看| 中文字幕在线看视频国产欧美| 欧美成人免费va影院高清| 中文字幕精品视频| 在线观看久久av| 理论片在线不卡免费观看| 日韩av中文字幕在线| 精品亚洲一区二区三区在线播放| 91久久国产精品91久久性色| 性欧美长视频免费观看不卡| 91亚洲永久免费精品| 日韩精品在线免费播放| 亚洲综合第一页| 亚洲国产天堂久久综合网| 日韩精品在线电影| 成人性生交大片免费看视频直播| 成人免费视频网| 国产精品wwwwww| 亚洲欧美另类自拍| 久久香蕉国产线看观看av| 美女扒开尿口让男人操亚洲视频网站| 国产精品久久久久久久午夜| 亚洲精品美女在线观看| 国产偷亚洲偷欧美偷精品| 在线免费观看羞羞视频一区二区| 国产视频丨精品|在线观看| 亚洲一区二区久久久久久| 亚洲a在线观看| 韩国视频理论视频久久| 精品福利在线视频| 久久影院免费观看| 久久久国产精品免费| 欧美性生交xxxxxdddd| 精品亚洲夜色av98在线观看| 色偷偷噜噜噜亚洲男人| 在线观看欧美成人| 色婷婷av一区二区三区在线观看| 亚洲精品欧美日韩专区| 92裸体在线视频网站| 国产精品劲爆视频| 欧美日韩ab片| 国产精品视频99| 亚洲精品99久久久久| 一区二区三区黄色| 97av在线播放| 国产女人18毛片水18精品| 高清亚洲成在人网站天堂| 亚洲黄色www| 欧美成在线观看| 欧美午夜久久久| 欧美精品免费在线观看| 亚洲自拍偷拍区| 日本久久亚洲电影| 欧美成人精品激情在线观看| 亚洲欧美www| 国产日韩欧美中文| 日韩小视频在线观看| 欧美成人午夜视频| 亚洲美腿欧美激情另类| 国产成人激情小视频| 中文字幕久久亚洲| 亚洲精品美女在线观看播放| 亚洲精品久久久久久久久久久| 精品久久久久久久久久久| 久久亚洲欧美日韩精品专区| 欧美福利视频在线| 色综合五月天导航| 亚洲精品www久久久久久广东| 久久久国产精彩视频美女艺术照福利| 久久久久久久久网站| 亚洲精品欧美一区二区三区| 欧美日韩另类字幕中文| 91免费综合在线| 在线播放国产精品| 国产成人精品在线视频| 国产精品久久久久久久久久免费| 最近2019中文字幕一页二页| 久久伊人精品天天| 国产精品1234| 97视频在线播放| 69久久夜色精品国产69| 九九热99久久久国产盗摄| 亚洲在线免费观看| 亚洲国产日韩精品在线| 中文字幕日韩欧美在线视频| 91色在线观看| 亚洲精品一区久久久久久| 九九久久久久99精品| 欧美一级淫片aaaaaaa视频| 日本亚洲欧美成人| 国产精品永久免费视频| 国产成人精品999| 国产精品亚洲激情| 亚洲欧洲在线免费| 欧美性受xxxx白人性爽| 国产亚洲欧美视频| 亚洲午夜精品久久久久久久久久久久| 久久青草精品视频免费观看| 日韩www在线| 亚洲视频网站在线观看| 91精品国产高清自在线看超| 精品夜色国产国偷在线| 美女精品视频一区| 2019中文字幕在线免费观看| 日韩欧美国产中文字幕| 日韩中文字幕在线视频播放| 亚洲一区二区三区成人在线视频精品| 久久成人精品一区二区三区| 日韩精品久久久久久福利| 亚洲人成欧美中文字幕| 久久久精品2019中文字幕神马| 亚洲自拍另类欧美丝袜| 韩国视频理论视频久久| 久久久久久久999精品视频| 成人免费xxxxx在线观看| 色婷婷av一区二区三区在线观看| 国产一区二区三区视频在线观看| 国精产品一区一区三区有限在线|