我想创建一个程序,该程序将从具有下拉菜单的4组合框中显示的excel工作表中获取数据。
例如,如果我选择menu1,则下拉列表将显示对应的子菜单(即submenu11和submenu12),而不显示所有其他子菜单。
同样,选择子菜单11后,下拉列表将仅显示child111和child112。
我已经从excel导入了数据,但是无法在组合框中对数据进行排序。
private void btnLoad_Click(object sender, EventArgs e)
{
string stringconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + tbxSelect.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
OleDbConnection conn = new OleDbConnection(stringconn);
if (tbxSelect.Text != "")
{
OleDbDataAdapter da = new OleDbDataAdapter("Select * from [" + tbxChoice.Text + "$]", conn);
DataTable dt = new DataTable();
da.Fill(dt);
//dataGridView1.DataSource = dt;
for (int i = 0; i < dt.Rows.Count; i++)
{
string firstRow = dt.Rows[i]["A"].ToString();
if (firstRow != "")
{
cmbRow1.Items.Add(firstRow);
if (!firstRow.Equals(Row1))
{
//essageBox.Show(firstRow);
}
else
RowIndex_1++;
Row1 = firstRow;
}
}
MessageBox.Show(RowIndex_1.ToString());
for (int j = 0; j < dt.Rows.Count; j++)
{
string secondRow = dt.Rows[j]["B"].ToString();
if (secondRow != "")
cmbRow2.Items.Add(secondRow);
}
for (int k = 0; k < dt.Rows.Count; k++)
{
string secondRow = dt.Rows[k]["C"].ToString();
if (secondRow != "")
cmbRow3.Items.Add(secondRow);
}
for (int l = 0; l < dt.Rows.Count; l++)
{
string secondRow = dt.Rows[l]["D"].ToString();
if (secondRow != "")
cmbRow4.Items.Add(secondRow);
}
for (int m = 0; m < dt.Rows.Count; m++)
{
string secondRow = dt.Rows[m]["E"].ToString();
if (secondRow != "") ;
//cmbRow5.Items.Add(secondRow);
}
conn.Close();
}
else
MessageBox.Show("Er");
}