Я работаю над многоцелевой страницей и вместо того, чтобы добавлять несколько сеток на одну и ту же страницу, мы хотели использовать один GridView для страницы, а в Page_Init добавить необходимые столбцы и установить соответствующий DataSourceID.
Итак, для этого у нас есть что-то вроде следующего в aspx: код в Page_Init очень прост, добавив несколько столбцов, затем установив свойство DataSourceID GridView.
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.