Click Here

相信能,才能
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DataGrid绑定指定目录中文件

Posted on 2006-09-08 16:54  鬼手  阅读(200)  评论(0)    收藏  举报
1.cs文件中代码:
ICollection CreateDataSourceFile() 
  
{
   DataTable dtFile 
= new DataTable();
   DataRow dr;
   dtFile.Columns.Add(
new DataColumn("Name"typeof(string)));
   dtFile.Columns.Add(
new DataColumn("Extension"typeof(string)));
   dtFile.Columns.Add(
new DataColumn("Length"typeof(Double)));
   dtFile.Columns.Add(
new DataColumn("CreationTime"typeof(string)));
   dtFile.Columns.Add(
new DataColumn("HiddenName"typeof(string)));
   
//得到此目录下所有文件名的字符串数组
   DirectoryInfo dri = new DirectoryInfo(Server.MapPath("../MISDownLoad/"));
   FileInfo[] flist 
= dri.GetFiles();
   
foreach(FileInfo f in flist)
   
{
    dr 
= dtFile.NewRow();
    dr[
0= f.Name;//文件名
    dr[1= f.Extension; 扩展名
    dr[
2= f.Length/1024;大小转为KB
    dr[
3= f.CreationTime;创建时间
    dtFile.Rows.Add(dr);
   }

   DataView dvFile 
= new DataView(dtFile);
   dvFile.Sort
="CreationTime DESC";//按照时间排序
   return dvFile;
  }
下面语句用于绑定DataGrid1:
DataGrid1.DataSource = CreateDataSourceFile();
DataGrid1.DataBind();

2.绑定的数据表还可以添加自定义分页、删除文件等功能。。。结合文件下载类,可以生成简单的下载列表。

3.疑惑:aspx页面中如已经写好了文件名、类型、大小等列并指定其DataFieldText值与dtFile.Columns.Add()中的列名相同。执行绑定的代码后,并没有添加列,而是改写了这些列。有时间再看看是哪里的问题。