这个问题是在开发新闻发布系统时附件添加上遇到的,由于刚接触自定义DataTable这一块,对其运用还不熟,搞了好长时间,才自己慢慢探讨出来了........
具体运用方面及好处等以后再总结,具体代码如下:
static DataTable dt=createtb(); //必须要用static
DataTable dt_accessory=dt; //定义全局的DataTable
//定义一个静态方法自定义一个DataTable
public static DataTable createtb()
{
DataTable dt_accessory=new DataTable("Accessory");
DataColumn accessoryID=new DataColumn("AccessoryID",typeof(int));
accessoryID.AutoIncrement=true;
accessoryID.AutoIncrementSeed=1;
accessoryID.AutoIncrementStep=1;
accessoryID.ReadOnly=true;
DataColumn accessoryName=new DataColumn("AccessoryName",typeof(string));
DataColumn accessoryType=new DataColumn("AccessoryType",typeof(string));
DataColumn accessoryPath=new DataColumn("AccessoryPath",typeof(string));
dt_accessory.Columns.Add(accessoryID);
dt_accessory.Columns.Add(accessoryName);
dt_accessory.Columns.Add(accessoryType);
dt_accessory.Columns.Add(accessoryPath);
return dt_accessory;
}
//以下为添加DataRow
private void btnUpload_Click(object sender, System.EventArgs e)
{
string fileName="",fileType,filePath;
fileName=this.File1.PostedFile.FileName;
filePath=Server.MapPath("upfiles");
fileName=fileName.Substring(fileName.LastIndexOf("\\")+1);
fileType=fileName.Substring(fileName.LastIndexOf(".")+1);
System.Data.DataRow dr=dt_accessory.NewRow();
dr["accessoryName"]=fileName;
dr["accessoryType"]=fileType;
dr["accessoryPath"]=filePath+"\\"+fileName;
dt_accessory.Rows.Add(dr);
//用个CheckBoxList绑定DataTable
this.CBLAccessory.DataSource=dt_accessory.DefaultView;
this.CBLAccessory.DataTextField="AccessoryName";
this.CBLAccessory.DataValueField="AccessoryID";
this.CBLAccessory.DataBind();
}
声明:以上代码属原创,仅供本人参考,请勿乱转!

浙公网安备 33010602011771号