Set default value for DataGridView ComboBox

心已入冬 提交于 2019-12-02 07:29:03

问题


My application consist of DataGridviewComboBoxColumn inside DataGridView. The ComboBoxColumns are getting filled from a database table (key, value pair). I am trying to set the default value for ComboBox column using DefaultValuesNeeded event but it is not working.

Following is the sample code:

e.Row.Cells["Job"] as DataGridViewComboBoxColumn).Value ="12"

But it shows 12 as value , instead of 12 it suppose to show actual text of 12 value.

For example:

DataGridViewComboBoxColumn dgvCbJob = new DataGridViewComboBoxColumn();
{
    dgvCbJob.HeaderText = "Job";
    hadd.Clear();
    hadd.Add("@Search", string.Empty);
    ds = ObjDAL.GetDataSetForPrc("prc_GetJobList", hadd);
    if (ds.Tables[0].Rows.Count > 0)
    {
        dgvCbJob.DataSource = ds.Tables[0];
        dgvCbJob.DisplayMember = "JobName";
        dgvCbJob.ValueMember = "JobMasterId";
    }
    dgvCbJob.DisplayIndex = 0;
    dgvCbJob.Width = 100;
    dgvCbJob.Name = "Job";
}

回答1:


To set default value for cell you can use either of these options:

  • Handle DefaultValuesNeeded event of grid and assign value to e.Row.Cells["Job"].Value
  • In your DataTable set the DefaultValue for the 'Job' DataColumn to desired value

In both options, the type of value which you assign should be the same type as DataType of the column.

Note: You should know e.Row.Cells["Job"] is not DataGridViewComboBoxColumn. If the column is combo box, then the cell is DataGridViewComboBoxCell.



来源:https://stackoverflow.com/questions/38592231/set-default-value-for-datagridview-combobox

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!