如果我select *
从 MS-SQL 表中查询并仅显示几个数据列(其余列不可见或不存在),发送到 GridView 的查询结果是否包括所有未使用列的数据或GridView 仅发送将要显示的数据。如果发送了所有数据,那么是仅将这些数据存储在 ViewState 中还是存储所有数据谢谢。
问问题
200 次
2 回答
1
你的问题有点模棱两可。您的意思是,如果您不显示或定义数据集中包含的列,ViewState
大小是否仍会像显示时一样增加?如果这就是你要问的,那么答案是否定的。例如,您可以拥有一个包含 100 列的 DataTable,但如果您在 GridView 中仅显示其中的 1 列,那么ViewState
大小将与您的 DataTable 仅包含该一列相同。
于 2013-01-19T03:20:00.807 回答
1
是的。所有列都可供 GridView 显示。现在取决于您是要显示部分还是全部。AutoGenerateColumns="true"
当您在 GridView 上进行设置时,这一点很明显。
GridView 是一个表示对象,抽象/提取底层数据源中的信息,例如
<asp:GridView runat="server" DataKeyNames="ProductID" ID="GridView1">
<Columns>
<asp:BoundColumn HeaderText="Product Name" DataField="ProductName" />
<asp:BoundColumn HeaderText="Price" DataField="Price" />
</Columns>
</asp:GridView>
从上面的示例中,ProductName
并Price
显示在 GridView 中,但您的数据源中的其他一些列可用,例如ProductID
用于DataKeyNames
于 2013-01-19T03:39:26.337 回答