Mega Code Archive

 
Categories / ASP.Net Tutorial / File Directory
 

Binding a GridView to directory files (C#)

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     protected void Page_Load(object sender, EventArgs e)     {         foreach (System.IO.DriveInfo drive in System.IO.DriveInfo.GetDrives())         {             TreeNode node = new TreeNode();             node.Value = drive.Name;             if (drive.IsReady)                 node.Text = drive.Name + " - (free space: " + drive.AvailableFreeSpace + ")";             else                 node.Text = drive.Name + " - (not ready)";             this.TreeView1.Nodes.Add(node);         }     }     private void LoadDirectories(TreeNode parent, string path)     {         System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo(path);         try         {             foreach (System.IO.DirectoryInfo d in directory.GetDirectories())             {                 TreeNode node = new TreeNode(d.Name, d.FullName);                 parent.ChildNodes.Add(node);                 LoadDirectories(node, d.FullName);             }         }         catch (System.UnauthorizedAccessException e)         {             parent.Text += " (Access Denied)";         }         catch (Exception e)         {             parent.Text += " (Unknown Error: " + e.Message + ")";         }     }     protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)     {         System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo(this.TreeView1.SelectedNode.Value);         this.GridView1.DataSource = directory.GetFiles();         this.GridView1.DataBind();     } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Untitled Page</title> </head> <body>     <form id="form1" runat="server">     <div>         <table>             <tr>                 <td valign="top">                    <asp:TreeView ID="TreeView1"                                   runat="server"                                  OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">                    </asp:TreeView>                 </td>                 <td valign="top">                     <asp:GridView ID="GridView1"                                    runat="server"                                   AutoGenerateColumns="False"                                    GridLines="None" CellPadding="3">                         <Columns>                             <asp:BoundField DataField="Name" HeaderText="Name"                                  HeaderStyle-HorizontalAlign="Left"                                   HeaderStyle-Font-Bold="true" />                             <asp:BoundField DataField="Length" HeaderText="Size"                                  ItemStyle-HorizontalAlign="Right"                                   HeaderStyle-HorizontalAlign="Right"                                   HeaderStyle-Font-Bold="true" />                             <asp:BoundField DataField="LastWriteTime"                                  HeaderText="Date Modified"                                   HeaderStyle-HorizontalAlign="Left"                                   HeaderStyle-Font-Bold="true" />                         </Columns>                     </asp:GridView>                 </td>                             </tr>         </table>              </div>     </form> </body> </html>