我正在处理一个多用途页面,而不是向同一页面添加多个网格,我们希望在页面中使用单个 GridView,并在 Page_Init 添加所需的列,并设置相应的 DataSourceID。
为此,我们在 aspx 中有如下内容,Page_Init 中的代码隐藏非常简单,添加几列然后设置 GridView 的 DataSourceID 属性。
ASPX:
<asp:GridView ID="gvDisplay" runat="server" AutoGenerateColumns="false" CellPadding="5"
width="100%" AllowPaging="true" PageSize="200" DataSourceID="wuProcessLogDataSource">
<RowStyle CssClass="RowStyle" />
<AlternatingRowStyle CssClass="AlternatingRowStyle" />
<HeaderStyle CssClass="HeaderStyle" />
</asp:GridView>
<asp:ObjectDataSource id="wuProcessLogDataSource" runat="server" EnablePaging="True"
SelectMethod="GetWUProcessLog" TypeName="Project.Objects.WUProcessLogDal"
SelectCountMethod="GetWUProcessLogTotalRecords">
<SelectParameters>
<asp:QueryStringParameter QueryStringField="w" DefaultValue="0" Name="workunitId" />
</SelectParameters>
</asp:ObjectDataSource>
对象数据源就在那里,并且作为第一页加载触发器工作,完全没有任何问题。但是,一旦您单击页面按钮,网格就会从页面中消失?有任何想法吗?
我只会使用 DataGrid,但它没有 HyperLinkColumn 所需的动态显示能力。