c# - 我需要用 datagridview 替换 tablelayout
问题描述
如何制作自动大小的datagridview而不在表单上添加它。现在我的代码是 with 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 < 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();
}
推荐阅读
- javascript - 如何从 Map.keys() 中获取排序数组
- neural-network - 了解奇怪的 YOLO 卷积层输出大小
- javascript - 如何在单个页面上添加多个 Google 地图
- scala - org.apache.spark.ml.linalg.DenseVector 不能转换为 java.lang.Double
- locale - LocaleContextHolder 不会在 Spring Cloud Gateway 中返回确切的语言环境
- bash - 无法使用输出重定向覆盖现有文件 >
- string - 如何检查用于解密消息的算法
- python - 如何使我的课程在 Python 中具有可比性?
- javascript - 角度,与控制台结果混淆
- angularjs - 使用 Angular 下载本地文件夹