gpt4 book ai didi

C# DataGridView 科尔斯潘

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:01 24 4
gpt4 key购买 nike

我想使用 datagridview 动态创建一个类似 excel 的表格,但我希望可以选择将 colspan 设置为某些列。

这个想法只是为了显示数据,用户不会输入任何内容,但它应该以表格/电子表格的形式出现。如果我不能将 datagridviewcolspan 结合使用,是否有任何其他类型的具有 colspan 的类似表格的工具?

另一方面,这些列将根据数据库查询结果动态创建。

我正在使用 Windows 窗体。

有什么想法吗?

最佳答案

你可以看看 TableLayoutPanel Class ,它有一个 TableLayoutPanel.SetColumnSpan Method .

这是一个代码示例,它跨越 2 列中的一个文本框:

var dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Value1");
dt.Columns.Add("Value2");

dt.Rows.Add(1, "aa", "xx");
dt.Rows.Add(2, "bb","yy");
dt.Rows.Add(3, "cc", "zz");
tableLayoutPanel1.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
tableLayoutPanel1.ColumnCount = 4;
tableLayoutPanel1.AutoSize = true;
for (int i = 0; i < dt.Columns.Count; i++)
{
var l = new Label();
l.Dock = DockStyle.Fill;
l.Text = dt.Columns[i].ColumnName;
tableLayoutPanel1.Controls.Add(l, i, 0);
}
var emptyLabel = new Label();
emptyLabel.Text = "Empty label";
tableLayoutPanel1.Controls.Add(emptyLabel, 4, 0);
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Rows[i].ItemArray.Length; j++)
{
var tb = new TextBox();
tb.Multiline = true;
tb.Dock = DockStyle.Fill;
tb.Text = dt.Rows[i][j].ToString();
tableLayoutPanel1.Controls.Add(tb, j, i+1);
if (i == 1 && j == 2)
tableLayoutPanel1.SetColumnSpan(tb, 2);
}
}

关于C# DataGridView 科尔斯潘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17524739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com