private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e)
        {
            int Rowx = dataGridView1.CurrentCell.RowIndex;
            if (((ComboBox)sender).Text == "买入")
            {
                dataGridView1.Rows[Rowx].DefaultCellStyle.ForeColor = Color.Blue;                dataGridView1.CurrentCell.Value = "买入";
                dataGridView1.CurrentCell.Tag = "买入";
            }
            else
            {
                dataGridView1.Rows[Rowx].DefaultCellStyle.ForeColor = Color.Red;
                dataGridView1.CurrentCell.Value = "卖出";
                dataGridView1.CurrentCell.Tag = "卖出";
            }                    }我选择买入或卖出的时候,这一行另一个单元格的内容就会跟着变.
该怎么写...
谢谢

解决方案 »

  1.   

    除了dataGridView1可能为空外这样写的问题是?
      

  2.   


    //处理EditingControlShowing事件
    private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
      //获取正在编辑的单元格,如果是combobox,则为其挂接事件处理程序:
      ComboBox combo = e.Control as ComboBox;
      if (combo != null)
      {
      combo.SelectedIndexChanged +=
      new EventHandler(ComboBox_SelectedIndexChanged);
      }
    }//当下拉框内容修改后,会触发这个事件处理程序,你在这里处理。
    private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
    {
       //
    }
      

  3.   

    private void dataGridView1_EditingControlShowing(object sender,
      DataGridViewEditingControlShowingEventArgs e)
    {
      ComboBox combo = e.Control as ComboBox;
      if (combo != null)
      {
      combo.SelectedIndexChanged +=
      new EventHandler(ComboBox_SelectedIndexChanged);
      }
    }
    private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
    {
     ComboBox cb=(ComboBox)sender;
    }