如何在c#中向gridview添加修改行数?

时间:2011-09-22 09:38:21

标签: c# gridview webforms aspxgridview

我必须在gridview中插入修正行数。我没有使用数据库,也没有逐个创建行。

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

我正在创建gridview as,

<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>

4 个答案:

答案 0 :(得分:1)

为什么不创建一个类对象然后将其绑定到网格,设置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});

p.s。:名称和用法仅用于解释这个想法

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

以下是建议的解决方案:

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

==&GT;

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
//.. 
}

答案 3 :(得分:0)

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