0

如果我select *从 MS-SQL 表中查询并仅显示几个数据列(其余列不可见或不存在),发送到 GridView 的查询结果是否包括所有未使用列的数据或GridView 仅发送将要显示的数据。如果发送了所有数据,那么是仅将这些数据存储在 ViewState 中还是存储所有数据谢谢。

4

2 回答 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>

从上面的示例中,ProductNamePrice显示在 GridView 中,但您的数据源中的其他一些列可用,例如ProductID用于DataKeyNames

于 2013-01-19T03:39:26.337 回答