原先显示的数据保持不变、动态向GridView中添加一行、不用viewstate/session保存数据怎样实现?

解决方案 »

  1.   

    这个模板里面有个SelectItemTemple然后再这个里面添加一个表
    这个表与你那个数据库连接的表响应即可项目表中item_commond这个函数实现响应
      

  2.   

    在GridView的数据源中新添加一行,重新绑定。
      

  3.   

    动态添加行不难。
    后台构建个DataTable.然后绑定到Gridview上用viewstate保存。
    参考可以先去找一找找不到下班回家发给你
      

  4.   

    不用viewstate session等保存,只增加一行?
            <asp:GridView ID="GridView4" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%#Eval("Name") %>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            </asp:GridView>
             <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
            <asp:Button ID="Button4" runat="server" Text="Button" onclick="Button4_Click" />    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridView4.DataSource = getDataTable();
                GridView4.DataBind();
            }
        }
        public DataTable getDataTable()
        {
            string[] name = { "张三", "李四", "王五" };
            DataTable dt = new DataTable();
            dt.Columns.Add("Name", Type.GetType("System.String"));
            for (int i = 0; i < name.Length; i++)
            {
                DataRow row = dt.NewRow();
                row[0] = name[i];
                dt.Rows.Add(row);
            }
            return dt;
        }    
        protected void Button4_Click(object sender, EventArgs e)
        {
            DataTable dt = getDataTable();
            DataRow row = dt.NewRow();
            row[0] = TextBox4.Text;
            dt.Rows.Add(row);
            GridView4.DataSource = dt;
            GridView4.DataBind();
        }