Привет, у меня небольшая проблема. Я пишу программу, которая отображает столбцы файла Excel и рядом с ним столбцы базы данных Access в двух отдельных списках. Вы выбираете лист и таблицу для отображения с помощью поля со списком. Столбцы Access отображаются нормально, но столбцы листа Excel не будут отображаться независимо от того, что я делаю, но листы появляются в комбинированном окне без проблем, но столбцы не отображаются независимо от того, что я делаю. Есть ли какой-то конкретный способ, которым я могу сделать это, который работает, потому что я не мог найти что-либо в Интернете.
Это та часть, которая должна его вставить
{
{
// lvwDestination.Columns.Add(_dt.Columns[i].ColumnName);
lvwSource.Columns.Add("Fields in Database", -2, HorizontalAlignment.Left);
for (int i = 0; i < _Sourcedt.Rows.Count; i++)
{
ListViewItem lvwItem = new ListViewItem("" + _Sourcedt.Columns[i].ColumnName, 0);
lvwSource.Items.AddRange(new ListViewItem[] { lvwItem });
}
}
}
Еще одна часть, которую я, возможно, испортил, работала для доступа, но не для Excel. Я также немного изменил оператор Select
private void cboSourceName_SelectedIndexChanged (отправитель объекта, EventArgs e)
{
// создаем адаптер и заполняем DataSet
OleDbDataAdapter adapter =
new OleDbDataAdapter("Select * from " + cboSourceName.Text +"" + "", _SourceConn);
lvwSource.Columns.Clear();
lvwSource.Items.Clear();
_Sourcedt.Columns.Clear();//Contains all the columns in selected table
try
{
adapter.Fill(_Sourcedt);
}
catch
{
}
LoadColumns2();
}
А также соединительная часть
private void btnConnectSource_Click (отправитель объекта, EventArgs e)
{
пытаться
{
string connString =
"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + txtSourcePath.Text + ";" +
"Extended Properties=Excel 8.0";
//"Password=" + txtPWSource + ";";
_SourceConn = new OleDbConnection(connString);
// _OleConn[1].ConnectionString = connString;
_SourceConn.Open();
_Sourcedt = new DataTable();
LoadCombo2();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}