最近在做东西的时候碰到两个问题,查了好多资料后都不知道怎么解决,只好来这求助大家了。
一:点击“新增按钮”,在GridView末端新增一行,用来添加内容,应该怎么样设置?还有每个单元格中的下拉菜单或者是文本该如何设置?
二:GridView点击“编辑”后,进入编辑状态。其中有一个下拉框用来选择项,怎么去绑定值?通过后台绑定,不想通过自带的绑定方式,该如何做?

解决方案 »

  1.   

    dataTable NewRow后在绑到GridView
    下拉框在RowDataBound中找到。。那是绑定
      

  2.   

    说点儿不能解决你问题的话:
    一般新增和编辑都是转到另一个页面来进行的!这样的话,既能查看信息,又能更新和新建,而且不易出错!最大的优势就是:
    1:排版容易;
    2:控件不再是GridView中的控件,而是普通控件,这样就能直接用ID;而在GridView中:GridView1.Cells.....看着都脑袋大了;
      

  3.   

    我有一笨方法,不过很实用
         向数据据中插入一空记录,再对GridView重新绑定。
     有下拉框 在行绑定事件findControl()后对其进行绑定。
      

  4.   

    一、点新增的时候insert into一条空的语句,然后在gridview的cellValueChange事件中再写更新语句。行不?
    第二个问题类似ACCESS中查阅向导那个功能,是不是?绑定一列值到当前活动的行的某个单元格就行了呗。
      

  5.   

    二:
    html:
    <asp:DropDownList ID="DropDownList1" runat="server" DataSource='<%#data_show()%>' DataValueField="sex" DataTextField="性别">
                                        </asp:DropDownList>
    c#:
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "";
            conn.Open();
            string sqlstr = "select top 5 * from 飞狐工作室";
            SqlDataAdapter da = new SqlDataAdapter(sqlstr,conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "mytable");
            GridView1.DataSource = ds;
            GridView1.DataBind();
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                DataRowView mydrv = myds.Tables["mytable"].DefaultView[i];
                if (Convert.ToString(mydrv["sex"]).Trim() == "男")
                {
                    ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
                    ddl.SelectedIndex = 0;
                }
                if (Convert.ToString(mydrv["sex"]).Trim() == "女")
                {
                    ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
                    ddl.SelectedIndex = 1;
                }
            }
            conn.Close();