读取文件列表到datatable

此博客主要展示了C#代码,包含创建数据源的方法CreateDataSource,用于创建一个DataTable并添加多列。还有获取文件夹信息的方法GetFolder,通过递归调用GetFolder方法将文件夹信息填充到DataTable中,体现了C#对DataTable的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private DataTable datatable;

private DataTable CreateDataSource()
??{
???DataTable dt = new DataTable();
???DataColumn col;

???col=new DataColumn();
???col.DataType=System.Type.GetType("System.Int32");
???col.ColumnName="ID";
???col.ReadOnly=true;
???col.AutoIncrement=true;
???col.AutoIncrementSeed=1;
???col.AutoIncrementStep=1;
???dt.Columns.Add(col);

???col=new DataColumn();
???col.DataType=System.Type.GetType("System.Int32");
???col.ColumnName="ParentID";
???col.ReadOnly=false;
???col.Unique=false;
???col.DefaultValue=int.Parse("0");
???dt.Columns.Add(col);

???dt.Columns.Add("filetype", typeof(int));
???dt.Columns.Add("filename", typeof(string));
???dt.Columns.Add("filesize",typeof(int));
???dt.Columns.Add("LastWriteTime", typeof(DateTime));
???return dt;
??}

public DataTable GetFolder()
??{
???CheckFolder();

???//DataTable dt = CreateDataSource();
???datatable=CreateDataSource();
???DirectoryInfo di=new DirectoryInfo(GetCurDir());
???GetFolder(0,di);
???datatable.AcceptChanges();
???return datatable;
??}

??private void GetFolder(int ParentID,DirectoryInfo dirinfo)
??{
???foreach(DirectoryInfo di in dirinfo.GetDirectories())
???{
????DataRow row;
????row=datatable.NewRow();
????row["ParentID"] = ParentID;
????row["filetype"] = 0; //dir
????row["filename"] = di.Name;
????row["filesize"] = 0;
????row["LastWriteTime"] = di.LastWriteTime;
????datatable.Rows.Add(row);
????int lpid=(int)datatable.Rows[datatable.Rows.Count-1]["ID"]; //获得最后一条记录得ID
????GetFolder(lpid,di);
???}
??}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值