我有一个TextBox
和一个Gridview
。
<asp:Textbox ID="TextBox1" runat="server" ></asp:Textbox>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
如果没有DataSource
,我怎样才能以编程方式将.Box文件添加到Gridview的第一列TextBox1.Text中?
GridView1.Columns[1].ToString() = TextBox1.Text like that example
答案 0 :(得分:1)
好的,试试吧。这会将第一行的第一个单元格设置为文本框的值:
GridView1.Rows[0].Cells[0].Text = TextBox1.Text;
请记住,使用从零开始的索引访问列和行,因此第二行的第一个单元格的访问方式如下:
GridView1.Rows[1].Cells[0].Text
答案 1 :(得分:1)
您是否在寻找没有数据时处理信息的方法?如果是这样,您可以使用GridView中的EmptyDataTemplate
并以编程方式访问它以显示TextBox的值。
如果根本没有“绑定”数据可供使用,GridView将需要某种数据源,至少有一个条目可以正常运行和显示。但是,您可以轻松添加一些虚拟数据以启用GridView的功能,然后您可以根据自己的内容进行调整。
假设您有一个按钮来启动回发(或者您可以使用TextBox的OnTextChanged事件),只需添加以下代码。
List<string> dummyList = new List<string>(){""};
GridView1.DataSource = dummyList;
GridView1.DataBind();
注意:列表对象只是一种使用占位符作为GridView数据源的快捷方式。如果您真的打算使用多个列,我建议您创建一个简单的DataTable,其中包含您需要的列,插入和清空行,并与之绑定。它消除了以编程方式创建所有列的麻烦。
然后在GridView的RowDataBound事件中,您可以根据需要使用GridView。
if (e.Row.RowType -= DataControlRowType.DataRow)
{
e.Row.Cells(0).Text = TextBox1.Text;
}