如何从窗口表单应用程序表单的组合框中获取值

时间:2018-06-28 09:09:49

标签: c# winforms combobox

string connectionstring6 
    ="server=xxx;database=PM2;UID=tccxplxan;password=plantcc"; 
SqlConnection con6 = new SqlConnection(connectionstring6); 
SqlCommand sqlCmd = new SqlCommand("SELECT TranCode FROM intern_code1 where 
  status = '1'", con6); 
con6.Open(); 
SqlDataReader sqlReader = sqlCmd.ExecuteReader(); 
while (sqlReader.Read()) 
{comboBox2.Items.Add(sqlReader["TranCode"].ToString()); }
sqlReader.Close(); 
con6.Close(); 

现在我正在使用C#开发窗口表单应用程序,这里有2种用户类型 一个是针对计划者User(UserA) 第二个用户是运输用户(UserB)。       首先,如果计划者创建了doc并且“运输”填写了将要完成的工作的详细信息,则计划者需要创建与“运输”用户相关的文档。我想做的是使供UserB使用的下拉列表(combobox)列表显示UserB尚未按表格上的状态完成的文档ID(下拉)。现在,我可以在组合框上显示确切的显示内容,但是那一无价值

2 个答案:

答案 0 :(得分:0)

如果您使用sqldatareader来检索值,则应指定类型和索引列。

while (sqlReader.Read())
{  
    comboBox2.Items.Add(sqlReader.GetName(0));
}
sqlReader.Close();
con6.Close();

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/retrieving-data-using-a-datareader

答案 1 :(得分:0)

我不确定我是否理解您的问题,但是如果您想获取选定的值,请在select上调用事件方法:

private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
    {
            String newSelectedProcress = comboBox1.SelectedItem.ToString();
    }

如果comboBox为空,则必须检查sqlReader。