datagridview中有name,age,zip三列,name和zip是string,age是int
当它们之下的内容改变时如何让应用程序知道?
1,用哪个事件?
2,事件响应程序用什么函数获得string和int类型的数据?

解决方案 »

  1.   

    ding ding ding ding ding ding 
      

  2.   

    CellValueChanged?这个不是你控制他改变的吗
      

  3.   

    如果绑定到DataTable, 倒是有事件通知。
      

  4.   

      绑定数据我就不写了。。这个是改哪个cell里的值后得到改变后的值。。
    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
              string str=  Convert.ToString(dataGridView1[e.ColumnIndex, e.RowIndex].Value) ;
            }
      

  5.   

    难道不是用datagridview来显示数据库的表的吗?程序运行时,在窗口中改动了表,要把改动的数据存到数据库表中,我是这个意思。要用的哪个事件,用什么函数啊?
      

  6.   

    千辛万苦啊,终于搞出来了:  
          private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                SqlConnection sc = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
                SqlConnection sa = new SqlConnection("Data Source=.;Initial Catalog=master;Integrated Security=True");
                SqlDataAdapter sda = new SqlDataAdapter("select *from shit", sa);
                DataSet ds = new DataSet();
                SqlCommandBuilder scbld = new SqlCommandBuilder(sda);
                //sc.Open();
                sda.Fill(ds, "temp");
                //ds.Tables["temp"].Rows[0]["name"] = "sss";
                //int rows=sda.Update(ds, "temp");
                int rowindex = e.RowIndex;
                int columnindex = e.ColumnIndex;
                //label1.Text = rowindex.ToString() + "行"+columnindex.ToString()+"列";
                //string str = Convert.ToString(dataGridView1[e.ColumnIndex, e.RowIndex].t);
                if (rowindex > -1 && columnindex > -1)
                {
                    ds.Tables["temp"].Rows[rowindex]["name"] = dataGridView1[1,rowindex].Value.ToString();
                    ds.Tables["temp"].Rows[rowindex]["age"] = dataGridView1[0,rowindex].Value;
                    ds.Tables["temp"].Rows[rowindex]["zip"] = dataGridView1[2,rowindex].Value.ToString();
                    //label1.Text = rowindex.ToString() + "行"+columnindex.ToString()+"列"+dataGridView1[rowindex, columnindex].Value.ToString();
                    //label1.Text  = dataGridView1[0, rowindex].ValueType.ToString();
                }
                sda.Update(ds, "temp");
    }