DataGridView的特殊列

假设DataGridView为dgv

1、判断DataGridViewCheckBoxCell是否被选中

  DataGridViewCheckBoxCell chkcell = dgv[1,0] as DataGridViewCheckBoxCell;

  bool IsChecked = Convert.ToBoolean(chkcell.EditingCellFormattedValue);

  //注意此处获取DataGridViewCheckBoxCell是否选中的值,在DataGridView的CellContentClick事件(或者其他DataGridView事件)中应该取chkcell.EditingCellFormattedValue,而在非DataGridView事件比如说按钮Button的Click事件中,直接取chkcell.Value就可以了

  if(IsChecked)

  {

    //当前CheckBoxCell被选中

  }

 

2、往DataGridViewComboBoxCell中添加不同的数据源

  

  //开始编辑单元格时填充枚举项(人员属性的枚举)
        private void dgvPersonProperty_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
            try
            {
                Wag_PersonPropertyExt.Wag_PersonPropertyExtRow pper = dgvPersonProperty.Rows[e.RowIndex].Tag as Wag_PersonPropertyExt.Wag_PersonPropertyExtRow;

                Wag_PersonPropertyCode dsPersonPropertyCode = WageItemDistibutionMethod.GetPersonPropertyCodeByPropertyId(pper.PropertyId.ToString());

                DataGridViewComboBoxCell cmb = dgvPersonProperty[e.ColumnIndex, e.RowIndex] as DataGridViewComboBoxCell;
                cmb.DataSource = dsPersonPropertyCode._Wag_PersonPropertyCode;
                cmb.DisplayMember = "CodeName";
                cmb.ValueMember = "PropertyCodeId";
            }
            catch (System.Exception ex)
            {
                MsgHelper.WarnMSG(ex.Message);
            }
        }

posted @ 2009-11-24 15:43  LowerAI  阅读(463)  评论(0编辑  收藏  举报