我想把一个文件夹下所有文件用GridView显示出来,发现现有的GridView例子都是用数据源的。是不是GridView不是干这个活的?
或者用什么控件比较好,最好有个小例子。要求前面有一个CheckBox.

解决方案 »

  1.   


                        String strDir = "UpLoadFiles";
                        DataTable FileList = new DataTable();
                        
                           DataRow FileItem;
                        
                           FileList.Columns.Add(new DataColumn("选择", typeof(bool)));
                        FileList.Columns.Add(new DataColumn("文件名", typeof(string)));
                        FileList.Columns.Add(new DataColumn("路径", typeof(string)));
                        FileList.Columns.Add(new DataColumn("大小", typeof(Int32)));
                        FileList.Columns.Add(new DataColumn("上传日期", typeof(DateTime)));
                        string dirPath = Server.MapPath(strDir);
                        DirectoryInfo Dir = new DirectoryInfo(dirPath);
                        FileInfo[] arrFiles = Dir.GetFiles();                    foreach (FileInfo f in arrFiles)
                        {
                            FileItem = FileList.NewRow();
                                FileItem[0] = false;
                            FileItem[0] = f.Name;
                            FileItem[1] = f.FullName;
                            FileItem[2] = f.Length;
                            FileItem[3] = f.CreationTime;
                            FileList.Rows.Add(FileItem);
                           }
                        GridView1.DataSource = new DataView(FileList);
                        GridView1.DataBind();
      

  2.   

    好办法,不过那个checkbox怎么出来
      

  3.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:CheckBox ID="CheckBox1" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
             <asp:TemplateField HeaderText="Name">
                <ItemTemplate>
                    <%# Eval("Name") %>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DirectoryInfo Dir = new DirectoryInfo(@"E:\DOTNET");
                FileInfo[] f = Dir.GetFiles();            GridView1.DataSource = f;
                GridView1.DataBind();
            }
        }
      

  4.   

    在页面里面的itemtemplate里面就是模板列里面
      

  5.   

    在GridView前面添加一个 模板列就可以了