如何在c#中添加gridview的固定行数

本文关键字:gridview 添加 | 更新日期: 2023-09-27 18:09:15

我必须插入固定的行数gridview。我没有使用数据库,也没有逐个创建行。

我最初想要7行3列,第一列有文本存储在我的数组。

我正在创建gridview,

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Height="146px"
        OnLoad="row_created" Width="308px">
        <Columns>
            <asp:BoundField HeaderText="Day" />
            <asp:TemplateField HeaderText="Available rooms">
                <ItemTemplate>
                    <asp:TextBox ID="txt1" runat="server"></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Price">
                <ItemTemplate>
                    <asp:TextBox ID="txt2" runat="server"></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

如何在c#中添加gridview的固定行数

为什么不创建一个类对象,然后将其绑定到网格,设置index的默认值以显示为Row Number,并将所有其他成员Day, price and Rooms从用户

填回

类似:

 class MyObject
  {
     public int Index { get; set; }
     public string Day { get; set; }
     public decimal Price { get; set; }
     public string Rooms { get; set; }
   }

像这样使用

List<MyObject> lst = new List<MyObject>();
lst.Add(new MyObject { Index = 1});
lst.Add(new MyObject { Index = 2});

注。:名称和用法只是为了说明思想

有很多方法可以做到这一点。

有些方法是创建一个DataTable并插入数据,然后将其绑定到GridView。

一个更好的解决方案是用数据创建对象,将它们存储在某种类型的集合中(列表或数组都可以),然后将集合绑定到DataGrid。如果您不想为此创建一个类,您可以使用匿名类型。

建议如下:

  • 将网格的数据源定义为数据表
  • 只需更改数据表对象的结构并重新绑定到网格,如适用
  • : -

= =>

public partial class WebPage : System.Web.UI.Page
{
protected DataTable GridSource
{
        get {   return ViewState["GridSource"] as DataTable;    }
        set 
        {   
            ViewState["GridSource"] = value;
            gridViewControl.DataSource = value;
            gridViewControl.DataBind();
        }
}
private void AddRow(DataRow row)
{
    // Get the lastly binded structure and data
    DataTable tableSource = this.GridSource;
    // Add row to data-table "tableSource"
    //..
    // Apply the new structure and data
    this.GridSource = tableSource;
}
// .. Add relevant implementation (methods) for remove, modify operations
//.. 
}

我曾经遇到过同样的问题。这个教程帮助我解决了我的问题。你可以去看看……http://geekswithblogs.net/dotNETvinz/archive/2009/06/04/adding-dynamic-rows-in-gridview-with-textboxes.aspx