我正在开发一个ASP.NET 1.1项目,其中要求是创建一个矩阵表,其中行数和列数由两个单独的数据集确定,并且可以变化。创建矩阵后,页面有几个按钮,用于执行需要数据的回发以及对矩阵表中单元格所做的任何修改。
<asp:DataGrid />
是显而易见的选项,但如何动态地向控件添加列?
我也在考虑动态建立<asp:table />
控件,但我不确定这是否可行。
我对datagrids的一个问题是他们盲目地绑定到数据集。我创建的表具有第一列作为总和,第二列作为后续列数据的加权平均值。还有一组列。
在这种情况下,最好是使用表服务器控件并构建整个事物还是在数据网格中执行此操作?
答案 0 :(得分:2)
您可以以编程方式将列添加到数据网格中:
BoundColumn linkColumn = new BoundColumn();
linkColumn.DataField = "UserID";
linkColumn.DataFormatString = "<a href='UserDetails.aspx={0}'>User Details</a>";
linkColumn.HeaderText = "User Details";
DataGrid1.Columns.Add(linkColumn);
以编程方式添加行是向绑定到datagrid的数据源添加行,不是吗?
在我看来,使用网格更简单,网格管理绑定和格式化。但是使用表格可以为您管理单元格。
答案 1 :(得分:0)
不确定瓶颈是什么。可以使用viewstate或session保留数据集中的值。
答案 2 :(得分:-2)
你可以创建一个列的实例,你需要什么,并添加到数据网格。检查谷歌的样本而不是在这里发布,在谷歌你会找到如何使用数据网格的样本。数据网格更好。