将DatagridviewComboboxColumn的Selected Value设置为另一个Column

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将DatagridviewComboboxColumn的Selected Value设置为另一个Column相关的知识,希望对你有一定的参考价值。

我是C#的初学者。我正在使用Datagridview,Gridview的数据来自SQL表,我已经制作了一个ComboboxColumn并在其中添加了一些值。我想如果我从Dropdown of ComboboxColumn中选择任何值,它应该只显示在一个指定列而不反映其他列...我正在尝试下面的代码。这段代码正在运行,但是当我更改其他列的值时,一个指定的列值也在改变,我想要的只能用ComboboxColumn来完成。

private void ViewDataGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
   try
   {
     ViewDataGrid.Rows[e.RowIndex].Cells["Arrival_State"].Value = 
         ViewDataGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
   }
   catch (Exception ex)
   {
       MessageBox.Show(ex.Message);
   }
}
答案

在更改Arrival_State列的值之前,应检查更改的列是否为ComboBox列。请参阅下面的代码

我添加了两个if块,使用一个你喜欢的外观,而不是两个。

    private void ViewDataGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            // Use this method if you want to find/specify the column by its index number
            // Replace 1 with the index of the ComboBoxColumn
            if (e.ColumnIndex == 1)
            {
                ViewDataGrid.Rows[e.RowIndex].Cells["Arrival_State"].Value =
                    ViewDataGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
            }

            // Use this method if you want to find/specify the column by its name
            // I prefer this method just in case the order changes
            if (ViewDataGrid.Columns[e.ColumnIndex].Name == "ComboBoxColumnName")
            {
                ViewDataGrid.Rows[e.RowIndex].Cells["Arrival_State"].Value =
                    ViewDataGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

以上是关于将DatagridviewComboboxColumn的Selected Value设置为另一个Column的主要内容,如果未能解决你的问题,请参考以下文章

如何将thinkcmf导入eclipse

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?