筆者以前很少使用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)
疑難解答
圖片精選