日期:2014-05-18  浏览次数:20913 次

private void dgv_CellClick函数为何失效
程序功能要求:单击dgv中的选择框选择某一行,将其中各单位格的数据赋值给已有变量。
程序代码如下:
private void dgv_ShowAllReader_CellClick(object sender, DataGridViewCellEventArgs e)
  {
  #region 获取dgv表中被选中修改读者的当前基本信息,赋值给已有相应变量

  if (e.ColumnIndex == 0) // 选中某一确定读者基本信息
  {
  update_readerid = Convert.ToInt32(this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["READER_ID"].Value.ToString());
  update_readername = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["READER_NAME"].Value.ToString();
  update_studentnum = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells[" STUDENT_NUM"].Value.ToString();
  update_idcard = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["ID_CARD"].Value.ToString();
  update_readertype = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["READER_TYPE_NAME"].Value.ToString();
  update_readersex = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["READER_SEX"].Value.ToString();
  update_readertell = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["READER_TELL"].Value.ToString();
  update_canborrowmax = Convert.ToInt32(this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["MAXNUM_CAN_BORROW"].Value.ToString());
  update_borrowflag = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["READER_FLAG_BORROW"].Value.ToString();
  update_readertext = this.dgv_ShowAllReader.Rows[e.RowIndex].Cells["READER_INFO"].Value.ToString();
  }

  #endregion
  }

程序运行后,各变量的值无任何改变,为什么?

------解决方案--------------------
单步一下看看单元格的值有没有取到呗
------解决方案--------------------
积分分分分分。。。。。。。。。。
------解决方案--------------------
if (e.ColumnIndex == 0) 这个条件满足么
------解决方案--------------------
条件改下试试,if(e.IsSelected==ture)