我有gridview,当我连接sqldatasource并运行应用程序时,会显示来自存储过程的数据,但是当我切换到设计模式时,架构不会加载到gridview中。我需要该架构来重新排列列和格式化目的。
我之前从未遇到过这个问题,突然之间出现了问题。
到目前为止我尝试了什么“刷新模式”会弹出一个对话框,其中列出了我传递给storedprocedure的所有参数。在我为每个参数更改了DBType之后,它仍然给我一个错误,说“检查你的连接和storedprocedure”。虽然storedprodure确实运行,但它不应该自动更新gridview中的模式。我仍然有默认的3列gridview。
注意:我可以通过手动添加每个列来解决问题,但我这样做是为了解决页面中的问题,首先,不希望在gridview问题中再次运行。这是我正在构建的新页面。感谢
答案 0 :(得分:1)
看起来,Schema不仅仅是从StoredProcedure更新,因为简单的信息没有足够的信息将返回多少列。
要解决此问题并进行快速修复,请执行以下操作。
从您的存储过程复制查询,并将SQLDatasource从存储过程更改为Select语句。运行select语句并完成。请注意,您的架构现在将更新。
现在可以将SQLDataSource设置回存储过程,架构将保持不变。
当我运行存储过程时,也会在查询中使用名称'Databound col0''Databound Col1'等更新列名称
我不确定它有时会发生,有时它不会。右键单击Gridview并单击Referesh Schema不起作用,因为它会产生一些错误。
答案 1 :(得分:0)
沿着@hmd,当没有足够的信息时,特别是如果有另一个感知数据集返回,即你正在做一些返回空白或调试数据(受影响的行等)。解决方法是在程序开始时将“SET NOCOUNT”设置为“关闭”,然后在返回数据之前将其重新设置为“ON”。这也是SSRS的一个问题。