将 DatagridviewComboboxColumn 的选定值设置为另一列
Set the Selected Value of DatagridviewComboboxColumn to another Column
我是 C# 初学者。我正在研究 Datagridview,
Gridview 的数据来自 SQL table,我制作了一个 ComboboxColumn 并在其中添加了一些值。
我想如果我 select 来自 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 列的值之前,您应该检查更改的列是否为 ComboBoxColumn。请参阅下面的代码
我添加了两个 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);
}
}
我是 C# 初学者。我正在研究 Datagridview, Gridview 的数据来自 SQL table,我制作了一个 ComboboxColumn 并在其中添加了一些值。 我想如果我 select 来自 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 列的值之前,您应该检查更改的列是否为 ComboBoxColumn。请参阅下面的代码
我添加了两个 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);
}
}