通用樣式化Datagird
2024-07-21 02:22:50
供稿:網(wǎng)友
很多初學(xué)vb.net的新手,差不多都是對(duì)許多小功能不能實(shí)現(xiàn)而苦惱,
以下我個(gè)人在論壇中遇到的許多問題的綜合的通用代碼,供初學(xué)者研究學(xué)習(xí):
'通用樣式化datagird
'power by:landlordh
'調(diào)用:
' strheaders() 里面改為自已需要的列名
' iwidths() 里面改為相對(duì)應(yīng)的列寬
' inputnum 在樣式化之前賦值
' style(datagrid1, dataset1.tables("tabname"))
'
'=================================================================
'列名,字段對(duì)應(yīng)名
public strheaders() as string = {"編號(hào)", "時(shí)間", "主題", "內(nèi)容"}
'列寬,為0隱藏(優(yōu)先級(jí)低于inputnum),對(duì)應(yīng)的列寬
public iwidths() as integer = {0, 70, 130, 0}
'顯示幾列,為空則顯示所有,為0則隱藏所有
public inputnum as string
public sub style(byval datagridname as datagrid, byval dataname as datatable)
try
datagridname.datasource = dataname
'顯示新增
'dataname.defaultview.allownew = false
'在datagrid中直接編輯
'dataname.defaultview.allowedit = false
dim i as integer
'處理顯示前幾列的參數(shù)
if trim(inputnum) <> "" then
dim num as integer
try
num = cint(trim(inputnum))
try
for i = 0 to iwidths.length - 1
if i >= inputnum then
iwidths(i) = 0
end if
next
catch ex as exception
end try
catch ex as exception
msgbox("你輸入的字符不符合要求")
end try
end if
dim ts as new datagridtablestyle
ts.mappingname = dataname.tablename
ts.alternatingbackcolor = system.drawing.color.papayawhip
ts.backcolor = system.drawing.color.whitesmoke
ts.selectionbackcolor = system.drawing.color.lightsteelblue
ts.selectionforecolor = color.black
ts.rowheaderwidth = 10
ts.preferredrowheight = 20
for i = 0 to dataname.columns.count - 1
dim ac as new datagridtextboxcolumn
'處理點(diǎn)擊行
'addhandler ac.textbox.enter, addressof textboxenterhandler
ac.headertext = strheaders(i)
ac.mappingname = dataname.columns(i).columnname
ac.textbox.width = iwidths(i)
ts.preferredcolumnwidth = ac.textbox.width
'哪列,i=第幾列數(shù)-1
if i = 1 then
ac.format = "yyyy-mm-dd hh:mm:ss"
'ac.readonly = true
'ac.nulltext = ""
ac.alignment = horizontalalignment.center
end if
if i = 1 or i = 2 then
'ac.readonly = true
'ac.nulltext = ""
ac.alignment = horizontalalignment.center
end if
ts.gridcolumnstyles.add(ac)
next
datagridname.tablestyles.clear()
datagridname.tablestyles.add(ts)
catch ex as exception
messagebox.show("格式化網(wǎng)格出錯(cuò)了")
end try
end sub
結(jié)束