当前位置:编程学习 > C#/ASP.NET >>

GridView绑定DataTable如何添加FileUpload控件?

想添加一个string是这样

    protected void CreateFilestable()
    {
        //实例化数据表
        this.FilesTable = new DataTable();
        //组建文件名数据列
        DataColumn fileNameCol = new DataColumn("FileUpload", typeof(string));
        this.FilesTable.Columns.Add(fileNameCol);

    }


    protected void Button1_Click(object sender, EventArgs e)
    {
        DataRow row = this.FilesTable.NewRow();
        row["FileUpload"] = "abc";
        //将数据行添加到数据表中
        this.FilesTable.Rows.Add(row);
        //数据表接受一切修改
        this.FilesTable.AcceptChanges();


        GridView1.DataSource = FilesTable;
        GridView1.DataBind();
    }


我把DataColumn fileNameCol = new DataColumn("FileUpload", typeof(string));改成
DataColumn fileNameCol = new DataColumn("FileUpload", typeof(FileUpload));

row["FileUpload"] = "abc";
改成
row["FileUpload"] = new FileUpload();
运行时候,会出错,说FilesTable不是有效的数据源
--------------------编程问答-------------------- 可以使用模板列来实现:

        <asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:TemplateField>
                    <asp:FileUpload runat="server" ID="compFile"></asp:FileUpload>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

--------------------编程问答-------------------- 罪过,打错了,更正下:

        <asp:GridView ID="GridView1" runat="server" onrowupdated="GridView1_RowUpdated">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:FileUpload runat="server" ID="compFile"></asp:FileUpload>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
--------------------编程问答--------------------
引用 2 楼 deoing 的回复:
罪过,打错了,更正下:

HTML code

        <asp:GridView ID="GridView1" runat="server" onrowupdated="GridView1_RowUpdated">
            <Columns>
                <asp:TemplateField>
                    <I……

我是用DataTable绑定的,DataTable那边怎么写 --------------------编程问答-------------------- 直接在模板列中设置
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:FileUpload runat="server" ID="FileUpload 1"></asp:FileUpload>
                    </ItemTemplate>
                </asp:TemplateField>
findcontrol查找控件
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,