C# 我需要用datagridview替换tablelayout

C# 我需要用datagridview替换tablelayout,c#,winforms,C#,Winforms,如何在不将datagridview添加到窗体之前自动生成datagridview。现在我的代码是tableLayout,但我需要用DataGridView for (int i = 0; i < dataManipulator.columnCheckedList.CheckedItems.Count; i++) { labels[i] = new Label(); labels[i].Text = visibleColumns[i];

如何在不将datagridview添加到窗体之前自动生成datagridview。现在我的代码是
tableLayout
,但我需要用
DataGridView

 for (int i = 0; i < dataManipulator.columnCheckedList.CheckedItems.Count; i++)
        {
   labels[i] = new Label();
            labels[i].Text = visibleColumns[i];

            tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
            tableLayoutPanel.SetCellPosition(labels[i], new TableLayoutPanelCellPosition(0, n++));
            tableLayoutPanel.Controls.Add(labels[i]);

            txtBox[i] = new TextBox();
            tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
            tableLayoutPanel.SetCellPosition(txtBox[i], new TableLayoutPanelCellPosition(2, m++));
            tableLayoutPanel.Controls.Add(txtBox[i]);
            getSqlColumnTypes += $"'{labels[i].Text}'";
            SqlDataAdapter sqladapter = new SqlDataAdapter($"{getSqlColumnTypes}", loginForm.connection = new SqlConnection($"Server = {loginForm.serverName.Text }; Database = { loginForm.DBNames.SelectedItem}; Trusted_Connection = True"));
            DataSet dt = new DataSet();
            sqladapter.Fill(dt);
            labels[i] = new Label();
            labels[i].Text = dt.Tables[0].Rows[0][0].ToString();

            tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
            tableLayoutPanel.SetCellPosition(labels[i], new TableLayoutPanelCellPosition(1, k++));
            tableLayoutPanel.Controls.Add(labels[i]);
       }
for(int i=0;i
解决方案如下:

for (int i = 0; i < dataManipulator.columnCheckedList.CheckedItems.Count; i++)
  {
       addRecordDataGridView.Rows.Add(visibleColumns[i]);
       getSqlColumnTypes += $"'{visibleColumns[i]}'";
       SqlDataAdapter sqladapter = new SqlDataAdapter($"{getSqlColumnTypes}", loginForm.connection = new SqlConnection($"Server = {loginForm.serverName.Text }; Database = { loginForm.DBNames.SelectedItem}; Trusted_Connection = True"));
       DataSet dt = new DataSet();
       sqladapter.Fill(dt);
       addRecordDataGridView.Rows[i].Cells[1].Value = dt.Tables[0].Rows[0][0].ToString();
       addRecordDataGridView.Rows[i].Cells[2].Tag = new DataGridViewTextBoxColumn();
   }
for(int i=0;i
解决方案如下:

for (int i = 0; i < dataManipulator.columnCheckedList.CheckedItems.Count; i++)
  {
       addRecordDataGridView.Rows.Add(visibleColumns[i]);
       getSqlColumnTypes += $"'{visibleColumns[i]}'";
       SqlDataAdapter sqladapter = new SqlDataAdapter($"{getSqlColumnTypes}", loginForm.connection = new SqlConnection($"Server = {loginForm.serverName.Text }; Database = { loginForm.DBNames.SelectedItem}; Trusted_Connection = True"));
       DataSet dt = new DataSet();
       sqladapter.Fill(dt);
       addRecordDataGridView.Rows[i].Cells[1].Value = dt.Tables[0].Rows[0][0].ToString();
       addRecordDataGridView.Rows[i].Cells[2].Tag = new DataGridViewTextBoxColumn();
   }
for(int i=0;i