【问题标题】:ASPxGridView Sorting event not firingASPxGridView 排序事件未触发
【发布时间】:2016-06-16 22:05:53
【问题描述】:

如果这听起来很容易解决,我深表歉意。到目前为止,我对使用 VB.Net 和 DevExpress 的 gridviews 库和许多其他精彩的东西非常陌生。我正在尝试更熟悉 DevExpress 和 VB.Net。到目前为止,我一直在尝试让 ASPxGridView 触发一个排序事件,但它从来没有遇到我下面的函数。它在页面加载时获取数据表,但它没有触发和排序我在这里拥有的事件功能。如果我做错了什么,请告诉我。

这是我使用 DevExpress 的 ASPxGridView 代码的前端代码。

<dx:ASPxGridView runat="server" ID="gdrDataView" ClientInstanceName="gdrDataView" AutoGenerateColumns="false" Styles-AlternatingRow-BackColor="#DDDDDD" OnCustomColumnSort="gdrDataView_CustomColumnSort">
   <Settings GridLines="None" />
   <SettingsPager Position="Top" Mode="ShowPager" PageSize="50"></SettingsPager>
   <Styles SelectedRow-ForeColor="Black" SelectedRow-BackColor="#ffdd99"></Styles>
   <SettingsBehavior AllowSelectByRowClick="true" AllowSelectSingleRowOnly="false" AllowSort="true" />
   <SettingsEditing BatchEditSettings-StartEditAction="Click" BatchEditSettings-ShowConfirmOnLosingChanges="true"></SettingsEditing>
   <Columns>
       <dx:GridViewDataColumn Caption="ID" FieldName="ID" ReadOnly="true">
           <CellStyle HorizontalAlign="Center"></CellStyle>
       </dx:GridViewDataColumn>
       <dx:GridViewDataColumn Caption="EnterBy" FieldName="EnterBy"  ReadOnly="true"></dx:GridViewDataColumn>
       <dx:GridViewDataColumn Caption="EnterDate" FieldName="EnterDate" ReadOnly="true"></dx:GridViewDataColumn>
       <dx:GridViewDataColumn Caption="Contact" FieldName="Contact" ReadOnly="true"></dx:GridViewDataColumn>
       <dx:GridViewDataDateColumn Caption="Start" FieldName="Start" ReadOnly="true">
           <PropertiesDateEdit DisplayFormatString="g"></PropertiesDateEdit>
       </dx:GridViewDataDateColumn>
       <dx:GridViewDataDateColumn Caption="End" FieldName="End" ReadOnly="true">
           <PropertiesDateEdit DisplayFormatString="g"></PropertiesDateEdit>
       </dx:GridViewDataDateColumn>
       <dx:GridViewDataColumn Caption="Status" FieldName="Status" ReadOnly="true"></dx:GridViewDataColumn>
       <dx:GridViewDataColumn Caption="Type" FieldName="Type" ReadOnly="true"></dx:GridViewDataColumn>
       <dx:GridViewDataColumn Caption="Description" FieldName="Description" ReadOnly="true"></dx:GridViewDataColumn>
   </Columns>
</dx:ASPxGridView>

这是我在 VB 中的后端代码。

Protected Sub gdrDataView_CustomColumnSort(ByVal sender As Object, ByVal e As CustomColumnSortEventArgs)
    Dim grid As ASPxGridView = TryCast(sender, ASPxGridView)
    Dim test As New DataService.DataService
    Dim data As DataSet
    data = test.GetChanges(ddlType.SelectedValue, CheckDBNull(CType(dtStart.SelectedDate, DateTime), enumObjectType.DateType), CheckDBNull(CType(dtEnd.SelectedDate, DateTime), enumObjectType.DateType))
    grid.DataSource = data.Tables(0)
    grid.DataBind()
End Sub

【问题讨论】:

    标签: asp.net vb.net gridview devexpress


    【解决方案1】:

    您在事件名称中有拼写错误,应该是 OnCustomColumnSort 而不是 onOnCustomColumnSort

    <dx:ASPxGridView runat="server" ... OnCustomColumnSort="gdrDataView_CustomColumnSort">
    

    您能否确保 AutoEventWireup 在 ASPX 中为真?

    <%@ Page ... AutoEventWireup="true" %>
    

    【讨论】:

    • 谢谢。我忽略了那部分。但是,问题仍然存在。
    【解决方案2】:
    1. 确保“SortMode”属性设置为“自定义”:
    2. 如果您在运行时绑定数据,请遵循文档以确保其正确实施:

    【讨论】:

    • 我还在整个网格视图中添加了几次 { SortMode = "Custom" },但它似乎不起作用。每当我单击列标题时,我的 gridview 数据就会消失。
    • 更新了答案。如果网格数据在排序时为空,则很可能与数据绑定有关。
    猜你喜欢
    • 2017-06-26
    • 2015-10-12
    • 2023-01-29
    • 2019-08-12
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多