我正在开发一个Windows窗体应用程序,我正在尝试使用Windows窗体应用程序中的文本框和组合框(下拉列表)编辑Datagridview中所选行的数据。 Datagridview中有一个名为status的列,其值为text(例如status =“start”)。我需要在Datagridview中更改所选行的状态列上的预填充组合框。
我在组合框的选定值中得到空值
combobox1.SelectedValue = dataGridView1.Rows[rowIndex].Cells["Status"].Value.ToString();
哪里
dataGridView1.Rows[rowIndex].Cells["Status"].Value.ToString() = "Start"
有没有办法在使用C#的Windows窗体应用程序中更改所选的组合框选项depanding on text而不是value?
答案 0 :(得分:0)
如果我正确理解您的问题,您在DataGridView中有两列:一列包含文本,另一列包含组合框,您希望所选的组合框元素随文本一起更改。
我不能过于具体,因为您还没有发布任何代码,但为了让您入门,您可能希望使用事件处理程序监听文本框列中的更改:
myDataGridView.CellClick += myDataGridView_CellClick;
...
void myDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex != TEXTBOX_COLUMN_ID) return;
object value = myDataGridView[e.ColumnIndex, e.RowIndex].Value;
}
然后,本地变量值将包含输入到文本框列中的内容。从那里,您需要在同一行中找到下拉框(使用e.RowIndex)并根据需要调整其值。
答案 1 :(得分:0)
在" CellClick"事件,也许您应该将行输入到DataGridViewRow对象中,然后说明所选行中的那个单元格是否包含"开始",运行一个填充组合框的函数?
例如:
DataGridViewRow row = dataGridView1.Rows[rowIndex];
if (row.Cells["Status"].Value.ToString() == "Start")
{
//fill combobox with needed information
}