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

2022-09-26 09:00:13 字數 1081 閱讀 4414

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

複製** **如下:

public  void setgridviewwidth(gridview gridview1)}}

for (j = 0; j < colcount; j++)

}if (gridview1.footerrow.visible == true)    //如果gridview表尾可見,將表尾列寬參與比較               

}for (j = 0; j < colcount; j++)

}width = gridviewwidth * oneletterlength;  //gridview最大字元數乘於乙個字元顯示寬度得到gridview顯示寬度

if (gridview1.width.value < width.value)    //如果在介面上已經設定了gridview的寬度,將動態求的寬度和頁面上的

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

public  int lengthofletter(string temp) 

}return newlength;

www.cppcns.com   }

//判斷是否為中文字元

public  bool  ischineseletter(string input,int index)

else

}return false;

}本文標題: 動態改變gridview列寬度函式分享

本文位址:

GridView自動改變列寬

if gridview1.footerrow.visible true 如果gridview表尾可見,將表尾列寬參與比較 for j 0 j colcount j width gridviewwidth 5 gridview最大字元數乘於乙個字元顯示寬度得到gridview顯示寬度 if gridv...

GridView動態增加列

需求背景 繫結列數量不穩定,可能會發生變化 或者需要允許使用者自己定義顯示列 解決方案 gridview 動態增加列,使用itemplate 介面實現itemtemplate 1.通過實現itemplate介面的instantiatein方法,定義自己希望的列展示內容。並且定義嵌入內容的databi...

GridView編輯列時可編輯列寬度加長

在用到gridview控制項進行編輯列時,可以編輯的列會變的比原來的寬度長,有時我們並不需要讓它加長.我解決的方法如下 方法一 在 gridview 任務 快捷選單上選中 啟用編輯 核取方塊。在快捷選單上單擊 編輯列 出現 字段 對話方塊。在 選定的字段 下選擇乙個繫結字段,在這裡也就是可以編輯的列...