我正在尝试使用c#.net从ms访问中读取一个表,并希望将其存储在数据表中。
当我在Combobox中显示数据表中的Row时,它没有提供所需的文本。
例如:它提供System.Data.DataRow而不是表中的实际值。
我的代码:
// Global Variables
OleDbConnection dbCon = new OleDbConnection();
OleDbDataAdapter dbAdapter;
DataTable localDT = new DataTable();
int rowPos;
int rowNum;
private void ConnectToDb()
{
dbCon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\CuttingParameters.mdb";
try
{
dbCon.Open();
dbAdapter = new OleDbDataAdapter("Select Distinct Material from CutParameters", dbCon);
dbAdapter.Fill(localDT);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK);
}
if (localDT.Rows.Count != 0)
{
rowPos = localDT.Rows.Count;
}
textBox1.Text = rowPos.ToString();
}
private void FillMatCombo()
{
comboBox1.DataSource=localDT;
}
答案 0 :(得分:0)
您需要设置ComboBox的 DisplayMember 属性,以告诉它使用哪个属性作为显示标签。还有一个 ValueMember 属性,其属性可用作值。