国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

根據表格內容,自動調整VB.NET中Datagrid控件單元格寬度

2024-07-10 13:00:48
字體:
來源:轉載
供稿:網友
用datagrid控件顯示表格數據,當表格內容過多時,datagrid控件單元格寬度并不足以用來完全顯示表格中的數據內容。而只有自己每次去拉動分界線,來進行調整。當出現表格字段比較多時,這樣做就顯得很麻煩。
以下是用程序根據表格內容來自動調整datagrid控件單元格寬度。
先定義一個sub過程autosizecol,用來調整datagrid中的列寬。
如下:
public sub autosizecol(byval col as integer)
dim width as single
width = 0
dim numrows as integer
numrows = ctype(datagrid1.datasource, datatable).rows.count
dim g as graphics
g = graphics.fromhwnd(datagrid1.handle)
dim sf as stringformat
sf = new stringformat(stringformat.generictypographic)
dim size as sizef
dim i as integer
i = 0

do while (i < numrows)
size = g.measurestring(datagrid1(i, col).tostring, datagrid1.font, 500, sf)
if (size.width > width) then
width = size.width
end if
i = (i + 1)
loop

g.dispose()
datagrid1.tablestyles("customers").gridcolumnstyles(col).width = ctype(width, integer)

end sub

現在就可以表格內容來定義整張表所有列的寬度了。如下:
public sub autosizetable()
dim numcols as integer
numcols = ctype(datagrid1.datasource, datatable).columns.count
dim i as integer
i = 0
do while (i < numcols)
autosizecol(i)
i = (i + 1)
loop
end sub

只要使用以上兩個sub過程就可以達到你想要的結果了!

一個完整的實例如下:
private sub form1_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load
dim connstring as string
connstring = "provider=microsoft.jet.oledb.4.0;data source=northwind.mdb"
dim sqlstring as string
sqlstring = "select * from customers"
dim dataadapter as oledbdataadapter
dataadapter = nothing
dim _dataset as dataset
_dataset = nothing

try

dim connection as oledbconnection
connection = new oledbconnection(connstring)

dataadapter = new oledbdataadapter(sqlstring, connection)

_dataset = new dataset
dataadapter.fill(_dataset, "customers")
connection.close()
catch ex as exception
messagebox.show("出錯!")
me.close()
return
end try
dim tablestyle as datagridtablestyle
tablestyle = new datagridtablestyle
tablestyle.mappingname = "customers"

datagrid1.tablestyles.clear()
datagrid1.tablestyles.add(tablestyle)
datagrid1.datasource = _dataset.tables("customers")
end sub

private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
autosizetable()
end sub

private sub button2_click(byval sender as system.object, byval e as system.eventargs) handles button2.click
autosizecol(1)
end sub

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三门峡市| 佛山市| 盐山县| 阳朔县| 平邑县| 共和县| 彭山县| 曲松县| 田东县| 故城县| 土默特左旗| 阿图什市| 绍兴市| 永定县| 呼伦贝尔市| 凌海市| 炉霍县| 大英县| 重庆市| 钦州市| 游戏| 珠海市| 永昌县| 遵化市| 上思县| 万州区| 郯城县| 宁国市| 荥阳市| 揭西县| 衡山县| 新安县| 全南县| 临猗县| 保山市| 乌拉特中旗| 皋兰县| 九龙城区| 嘉祥县| 仪征市| 雅安市|