筆者以前很少使用vs.net中的datagrid,原因是覺(jué)得不是很好用,昨天突然想起來(lái),用一個(gè)簡(jiǎn)單的類,來(lái)實(shí)現(xiàn)手工創(chuàng)建數(shù)據(jù)列,這樣可以自定義列名和綁定數(shù)據(jù)字段,使用起來(lái)比較方面的~~
類:exdatagrid.cs
using system;
using system.drawing;
using system.collections;
using system.componentmodel;
using system.windows.forms;
namespace windowsapplication5
{
/// <summary>
/// exdatagrid 的摘要說(shuō)明。
/// </summary>
public class exdatagrid
{
private system.windows.forms.datagrid datagrid;
private string strmapname;
private static datagridtablestyle dgt;
//strmapname:表名;
public exdatagrid(system.windows.forms.datagrid datagrid,string strmapname)
{
this.datagrid=datagrid;
this.strmapname=strmapname;
datagrid.tablestyles.clear();
datagridtablestyle tblstyle = new datagridtablestyle();
tblstyle.mappingname = this.strmapname;
datagrid.tablestyles.add(tblstyle);
dgt=tblstyle;
}
//參數(shù):
//1--i:gridcolumnstyles;
//2--strmap:mappingname ;
//3--strheader:headertext
public static void createcols(int i,string strmap,string strheader)
{
createcols(i,strmap,strheader,80);
}
//參數(shù):
//intwidth:數(shù)據(jù)列列寬
public static void createcols(int i,string strmap,string strheader,int intwidth)
{
//在這里可以設(shè)置列的樣式
datagridcolumnstyle textcol = new datagridtextboxcolumn();
datagridtablestyle tblstyle=dgt;
tblstyle.gridcolumnstyles.add(textcol);
tblstyle.gridcolumnstyles[i].mappingname = strmap;
tblstyle.gridcolumnstyles[i].headertext = strheader;
tblstyle.gridcolumnstyles[i].width = intwidth;
tblstyle.gridcolumnstyles[i].nulltext = string.empty;
}
}
}
調(diào)用:
this.datagrid1.setdatabinding(dataset, "tablename");
exdatagrid edg =new exdatagrid(this.datagrid1,"tablename");
exdatagrid.createcols(0,"productcode","產(chǎn)品編號(hào)");
exdatagrid.createcols(1,"productname","產(chǎn)品名稱");
exdatagrid.createcols(2,"productclass","產(chǎn)品類");
|
新聞熱點(diǎn)
疑難解答
圖片精選