2008-11-24 2 views
1

Я работаю на многоцелевой странице и вместо того, чтобы добавлять несколько сеток на ту же страницу, мы хотели использовать один GridView на странице, а на странице_Init добавить нужные столбцы , и установите соответствующий DataSourceID.Динамические столбцы и источники данных с .NET Grid View

Чтобы сделать это, в aspx есть что-то вроде следующего: codebehind в 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.

+0

Вам нужно будет опубликовать код привязки данных. Вероятно, это ошибка. – 2009-05-03 13:22:35

ответ

1

Это звучит, как вы делаете что-то вроде

If (!Page.IsPostBack) 
{ 
    //create + add columns - set datasource etc 
} 

Если это так - то вам нужно снять флажок и всегда генерировать столбцы (Я также предлагаю отключить viewstate для datagrid)

1

попробовать событие загрузки страницы вместо страницы инициализации

+0

Пробовал, что уже, такой же эффект. – 2008-11-24 19:45:40

Смежные вопросы