在datagrid中用到dropdownlist,当我想修改一行数据时。
怎么操作可以使对dropdownlist的操作反映到数据库http://community.csdn.net/Expert/topic/5496/5496490.xml?temp=.1722986

解决方案 »

  1.   

    dropdownlist会有:AutoPostBack=true 这样就会有后台事件了,都指定一个事件就应该可以了。
      

  2.   

    你要给DropDownList添加事件,如楼上说设为true
    ,回发到服务器之后,这个事件被DataGrid拦截,成为它的事件像 OnItemCommand这种
    它会告诉你这个事件发生在哪一行,哪一列,然后,你得知,便可以写代码了
      

  3.   

    private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    string str = ((DropDownList)(e.Item.FindControl("DropDownList1"))).SelectedItem.Value;
    string strSql = "update 表 set 字段 ='" + str + "' where 你的条件";
    ExecuteSql(strSql); //执行你的update语句
    dgShow.EditItemIndex = -1;
    BindData(); //重新绑顶
    }
      

  4.   


    private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    string str = ((DropDownList)(e.Item.FindControl("DropDownList1"))).SelectedItem.Value;
    string strSql = "update 表 set 字段 ='" + str + "' where 你的条件";
    ExecuteSql(strSql); //执行你的update语句
    dgShow.EditItemIndex = -1;
    BindData(); //重新绑顶
    }
    ==========================================
    支持!
      

  5.   

    或者不用datagrid自带的update,自己在右边添加表中相应字段的控件修改也行。比如你要修改datagrid的dropdownlist控件里值到数据库,你可以在datagrid里留个选择,然后在右边加个dropdownlist控件,[假设它id为dpdName]public System.Data.SqlClient.SqlConnection mySqlConnection;
    public System.Data.SqlClient.SqlCommand mySqlCommand;
    public System.Data.SqlClient.SqlDataAdapter mySqlDataAdapter;
    public System.Data.SqlClient.SqlDataReader mySqlDataReader;
    public System.Data.DataSet myDataSet;
    public System.Data.DataView myDataView;    //数据库连接
        public static SqlConnection GetConn()
        {
            this.mySqlConnection = new SqlConnection("Data Source=.;Initial Catalog=数据库名;User ID=sa;Password=");
            return mySqlConnection;
        }    //修改数据
        protected static void Update(string 你dropdownlist的字段名)
        {
            this.mySqlConnection = GetConn();
            this.mySqlCommand = mySqlConnection.CreateCommand();
            mySqlConnection.Open();
            mySqlCommand.CommandText = "update 表名 set 你dropdownlist的字段名 ='" + 你dropdownlist的字段名 + "' where 你的条件";
            mySqlCommand.ExecuteNonQuery();
            mySqlConnection.Dispose();
            mySqlConnection.Close();
        }    //数据修改
        protected void btnEdit_Click(object sender, EventArgs e)
        {
            string 你dropdownlist的字段名 = dpdName.SelectedValue.ToString();        你的Inherits名.Update(你dropdownlist的字段名);
        }