【发布时间】:2014-10-15 09:56:46
【问题描述】:
我将包含多个数据表的动态数据集返回到动态生成的网格视图。我使用下面的代码分别对每个数据表进行数据绑定。
// Create the grid views for each one that was returned
foreach (System.Data.DataTable table in datset.Tables)
{
WebCommon.Controls.GridView view = new WebCommon.Controls.GridView();
ReportContainerPanel.Controls.Add(view);
view.AutoGenerateColumns = true;
view.ShowHeaderWhenEmpty = true;
view.ShowHeader = true;
view.ID = table.TableName;
view.Size = WebCommon.Enums.TableSize.Small;
view.DataSource = table;
view.DataBind();
// Add the spacer
Literal spacer = new Literal();
spacer.Text = "<br/>";
ReportContainerPanel.Controls.Add(spacer);
}
但如果返回的数据表有列但有 0 行,我会收到此异常。
ID 为“Table4”的 GridView 的数据源没有任何属性或属性可用于生成列。确保您的数据源有内容。
我知道我可以通过检查行数然后排除该行数来防止这种情况被打印,但是对于用户来说看到没有为网格返回数据很有用。所以我想要一个带有标题列的空网格来显示。有没有办法解决这个错误?
编辑 这个问题似乎实际上是因为有问题的空结果只有 1 列类型为 varbinary,而 gridview 根本不喜欢这样。
【问题讨论】:
标签: c# asp.net gridview data-binding dataset