Как добавить значения OLEDB DataReader в TableLayoutPanel в правильном порядке? - PullRequest
0 голосов
/ 02 декабря 2018

Я хочу добавить свои значения таблицы базы данных в элементы управления 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());
        }

Надеюсь, что мойВопрос действителен и конкретен

...