Я хочу добавить свои значения таблицы базы данных в элементы управления TableLayoutPanel.Я нашел решение, использующее OLEDB DataReader, которое переносит значения моей базы данных в TableLayoutPanel.Но это не в правильном порядке.Я хочу добавить имена столбцов моей таблицы базы данных (которые в моем случае являются reader.GetName (index);) всегда в первую строку TablelayoutPanel и строку моего Datareader (которые в моем случае являются reader.GetString (index) .Trim).();) в правильном порядке.Но когда я выполняю следующий код, он испортил мои элементы управления макетом таблицы, как показано на рисунке
Это снимок экрана моей TableLayoutPanel
string queryString = "SELECT * FROM Student";
try
{
OleDbCommand command = new OleDbCommand(queryString, conn);
conn.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.HasRows)
{
FeeDetailTAble.ColumnCount = 7;
FeeDetailTAble.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, 40F));
FeeDetailTAble.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, 30F));
FeeDetailTAble.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, 30F));
FeeDetailTAble.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, 40F));
FeeDetailTAble.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, 30F));
FeeDetailTAble.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, 30F));
FeeDetailTAble.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, 30F));
FeeDetailTAble.RowCount = FeeDetailTAble.RowCount + 1;
FeeDetailTAble.RowStyles.Add(new RowStyle(SizeType.Percent, 20F));
FeeDetailTAble.Controls.Add(new Label() { Text = reader.GetName(0) }, 0, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = reader.GetName(1) }, 1, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = reader.GetName(2) }, 2, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = reader.GetName(3) }, 3, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = reader.GetName(4) }, 4, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = reader.GetName(5) }, 5, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = reader.GetName(6) }, 6, 0);
while (reader.Read())
{
string Name = reader.GetString(0).Trim();
string FatherName = reader.GetString(1).Trim();
string Class = reader.GetString(2).Trim();
string Date = reader.GetString(3).Trim();
string Fee = reader.GetString(4).Trim();
string Contact = reader.GetString(5).Trim();
string Email = reader.GetString(6).Trim();
FeeDetailTAble.RowCount = FeeDetailTAble.RowCount + 1;
FeeDetailTAble.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
FeeDetailTAble.Controls.Add(new Label() { Text = Name }, 0, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = FatherName }, 1, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = Class }, 2, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = Date }, 3, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = Fee }, 4, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = Contact }, 5, 0);
FeeDetailTAble.Controls.Add(new Label() { Text = Email }, 6, 0);
}
reader.NextResult();
}
reader.Close();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
Надеюсь, что мойВопрос действителен и конкретен