【问题标题】:Lose dynamic data binding on postback在回发时丢失动态数据绑定
【发布时间】:2016-03-21 16:13:34
【问题描述】:

我有一个在运行时填充的网络数据网格(每次用户点击不同的按钮时,它会加载不同的信息)

问题是在selected row change 上,网格没有得到正确的行,因为它进行了回发,并删除了网格中的数据

Protected Sub grid_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebDataGrid1.Load
    If Not IsPostBack Then
        Me.WebDataGrid1.DataSource = Membership.FindUsersByName("A%")
        Me.WebDataGrid1.DataBind()
    End If
End Sub

Protected Sub WebDataGrid1_Selection_RowSelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebDataGrid1.RowSelectionChanged
     Dim thisrow = e.CurrentSelectedRows

End sub

thisrow 始终等于 Nothing

如何让 databind() 在回发中持久化,以便我可以访问所选行中的信息?

<ig:WebDataGrid ID="WebDataGrid1" runat="server" AutoGenerateColumns="False" Width="750px" AltItemCssClass="AltRows" >
                    <Columns>
                        <ig:BoundDataField DataFieldName="UserName" DataType="System.String" Key="UserName">
                            <Header Text="User Name">
                            </Header>
                        </ig:BoundDataField>
                        <ig:BoundDataField DataFieldName="Email" Key="Email">
                            <Header Text="Email">
                            </Header>
                        </ig:BoundDataField>
                        <ig:BoundCheckBoxField DataFieldName="IsApproved" Key="IsApproved" Width="75px">
                            <Header Text="Approved">
                            </Header>
                        </ig:BoundCheckBoxField>
                        <ig:BoundCheckBoxField DataFieldName="IsLockedOut" Key="IsLockedOut" Width="100px">
                            <Header Text="Locked Out">
                            </Header>
                        </ig:BoundCheckBoxField>
                        <ig:BoundDataField DataFieldName="LastLoginDate" Key="LastLoginDate">
                            <Header Text="LastLoginDate">
                            </Header>
                        </ig:BoundDataField>
                    </Columns>
                    <Behaviors>
                        <ig:Selection CellClickAction="Row" CellSelectType="None" RowSelectType="Single">
                            <SelectionClientEvents RowSelectionChanged="WebDataGrid1_Selection_RowSelectionChanged" />
                            <AutoPostBackFlags RowSelectionChanged="True" />
                        </ig:Selection>
                    </Behaviors>
                </ig:WebDataGrid>

【问题讨论】:

  • 你能把你的表格贴在这里吗?我的意思是aspx代码。

标签: asp.net vb.net infragistics webdatagrid


【解决方案1】:

EnableDataViewState 设置为true,然后WebDataGrid 数据将被序列化为ViewState,并将持续到PostBack,而无需重新绑定网格。

<ig:WebDataGrid ID="WebDataGrid1" 
                runat="server" 
                AutoGenerateColumns="False" 
                Width="750px" 
                AltItemCssClass="AltRows"
                EnableDataViewState="True">
    ...
</ig:WebDataGrid>

【讨论】:

    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 2013-07-09
    相关资源
    最近更新 更多