Member 12805110 Ответов: 2

Как отобразить файл в gridview из папки


Я хочу отобразить все файлы из моей папки (~/Uploads/documents/) в столбце " файл":

<asp:GridView ID="GridView1" CssClass="gridview"  GridLines="None" OnRowDataBound="RowDataBound" SelectedRowStyle-BackColor="#a8c066" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" DataKeyNames="ID" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
            <columns>
                <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" ReadOnly="True" Visible="false"/>       
                <asp:BoundField DataField="File" HeaderText="File" SortExpression="File" /> 
                <asp:BoundField DataField="Folder" HeaderText="Folder" SortExpression="Folder" />                
            
            <SelectedRowStyle BackColor="#A8C066" />
        
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:strConn %>" SelectCommand="SELECT [ID], [Folder], [File] FROM [Files]">


Что я уже пробовал:

Я попытался погуглить его, но ничего не смог найти

[no name]

Ты погуглил "asp.net привязка столбца gridview" и ничего не нашли? Я получил 475000 результатов, а вы вообще ничего не получили?

2 Ответов

Рейтинг:
2

Suvendu Shekhar Giri

Проверьте следующие статьи, если они помогают=
Отображение списка файлов из папки на сервере в ASP.Net GridView в[^]
Отображение файлов и папок в виде сетки - 4GuysFromRolla.com[^]
Получить имена файлов из папки в GridView Control in ASP.Net[^]

Попробуйте любой из них, и если у вас возникнут какие-либо проблемы, пожалуйста, дайте мне знать.
Надеюсь, это поможет :)


Рейтинг:
2

manu_dhobale

Вот я построил таблицу из справочника и установить, что объект DataTable к GridView в качестве источника данных
Дизайн:

<form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    <br />
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
</form>


С фоновым кодом:
protected void Button1_Click(object sender, EventArgs e)
{
    DataTable dt = new DataTable("Mydata");
    dt.Columns.Add("ID", typeof(int));
    dt.Columns.Add("File", typeof(string));
    dt.Columns.Add("Folder", typeof(string));
    dt.Columns["ID"].AutoIncrement = true;
    dt.Columns["ID"].AutoIncrementSeed = 1;
    dt.Columns["ID"].AutoIncrementStep = 1;

    ProcessDirectory(TextBox1.Text.Trim(), ref dt);
    GridView1.DataSource = dt;
    GridView1.DataBind();
}
public void ProcessDirectory(string targetDirectory, ref DataTable dt)
{
    string[] fileEntries = Directory.GetFiles(targetDirectory);
    foreach (string fileName in fileEntries)
    {
        FileInfo fi = new FileInfo(fileName);
        dt.Rows.Add(null, fi.Name, targetDirectory);
    }
    string[] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
    foreach (string subdirectory in subdirectoryEntries)
    {
        ProcessDirectory(subdirectory, ref dt);
    }
}