Qustions:想达到如图效果,哪种方法好?怎么实现?
(法1)先把GridView的columns设置好,Page_load时,只显示GridView的HeadText部分。点击“生成记录”时,显示生成多条信息。
Q:怎么做到Page_load时,只显示GridView的HeadText部分?(10分)
怎么做到点击“生成记录”时,在后台为GridView添加行信息?(30分)(法2)Page_load时,不显示GridView,点击“生成记录”时,显示生成多条信息,怎么在后台实现动态添加DropDownList等控件。(40分)

解决方案 »

  1.   

    你可以先把DropDownList放在GridView  里面在GridView创建行的事件里面先影藏
      

  2.   

    法1
    1 那你可以只设置<HeaderTemplate></HeaderTemplate>模版里的内容数据赋为空。2 点击生成记录的时候 获取当前行的索引 以及其他数据 在后台的
    GridView1_RowCommand事件里写插入数据库代码 如下
     protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            //获取ID
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = (GridViewRow)((Control)e.CommandSource).Parent.Parent;//获取当前行的数据
            //方法有很多
            //接下来构造SQL 插入数据库    }(法2)
    生成记录按钮在外面?
    加载的时候
    this.GridView1.Visible = true;隐藏点击的时候 那就直接设置Gridview的
    this.GridView1.Visible = false;
    后台实现动态添加DropDownList添加控件
    protected void Page_Load(object sender, EventArgs e)
    {
        Button btn = new Button();
        btn.ID = "btn_bank_submit";
        btn.Text = "网上支付";
        btn.Click += new EventHandler(btn_bank_submit_Click);
        this.Controls.Add(btn);
    }如果在Gridview中添加的话 就设置好列 为textbox等控件 后台构造DataTable 绑定 值赋空
      

  3.   

    法1:给GridView绑定一个DataTable,里面有一个空行,这样就能显示了。可以把这个空行隐藏掉。(10分)
    点击“生成记录”后,重新填充DataTable,然后和GridView绑定即可。(30分)法2:不建议后台添加下拉列表框,asp.net中要避开后台动态添加控件,可以先放好并隐藏,用时再显示;或者用js添加,后台用Request["name"]获取其值。(40分)
      

  4.   

    Page_load不绑定数据,怎么做到点击“生成记录”时,
    GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {GridView1.DataSource=
    GridView1.DataBind();
    }
      

  5.   

    法1
    1 那你可以只设置<HeaderTemplate></HeaderTemplate>模版里的内容数据赋为空。to:wxr0323这样貌似GridView不显示吧
      

  6.   

    是可以的有个<EmptyDataTemplate>模版
      

  7.   

    to:wxr0323怎么做到点击“生成记录”时,在后台为GridView添加行信息?(30分)我知道怎样添加为GridView添加行,点击“生成记录”时,信息是自动生成的,
    我想在按钮的单击事件中为为GridView添加多行。
    用DataRowView or others?
    具体应该怎样coding,我是初学者,谢谢。
      

  8.   

    to:wxr0323
    你说的有点简单,能否给点例子。
      

  9.   

    http://topic.csdn.net/u/20070410/09/c5f1b36c-b70c-46ff-933a-b2c9b92c6815.html
    刚刚看到这个,难道GridView不能添加自己的行?
      

  10.   

    如果不是添加数据 就直接构造DataTable
    你的生成记录在页面外面么?在外面就把你文本框里的数据添加 DataTable
    然后绑定 类似      DataTable dt_info = new DataTable();
                    dt_info.Columns.Add("Company");
                    dt_info.Columns.Add("No");
                    dt_info.Columns.Add("Ctype");
                    DataRow dr = dt_info.NewRow();
                    dr[0] = "公司一";
                    dr[1] = "1";
                    dr[2] = "采购";
                    dt_info.Rows.Add(dr);                DataRow dr1 = dt_info.NewRow();
                    dr1[0] = "公司二";
                    dr1[1] = "2";
                    dr1[2] = "采购";
                    dt_info.Rows.Add(dr1);                DataRow dr2 = dt_info.NewRow();
                    dr2[0] = "公司三";
                    dr2[1] = "3";
                    dr2[2] = "采购";
                    dt_info.Rows.Add(dr2);                DataRow dr3 = dt_info.NewRow();
                    dr3[0] = "公司四";
                    dr3[1] = "4";
                    dr3[2] = "采购";
                    dt_info.Rows.Add(dr3);
                   
    表的列 自己构造
      

  11.   

    to :wxr0323
    你的生成记录在页面外面么?
    ——————————————————
    在一个页面内。还有:我想知道怎样添加为GridView添加行,点击“生成记录”时,信息是自动生成的,
    我想在按钮的单击事件中为为GridView添加多行。
    用DataRowView or others?
    具体应该怎样coding,我是初学者,谢谢。