首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UltraCombo筛选器不工作

UltraCombo筛选器不工作
EN

Stack Overflow用户
提问于 2016-03-05 04:35:56
回答 1查看 1.5K关注 0票数 2

我有以下应用程序代码:

代码语言:javascript
复制
Public Class Form1

    Public Sub New()
        InitializeComponent()
        Dim datatableCombo = New DataTable
        datatableCombo.Columns.Add("ID", GetType(Integer))
        datatableCombo.Columns.Add("Name", GetType(String))
        datatableCombo.Rows.Add({0, ""})
        datatableCombo.Rows.Add({1, "123"})
        datatableCombo.Rows.Add({2, "234"})
        datatableCombo.Rows.Add({3, "456"})

        UltraCombo1.DataSource = datatableCombo

        Dim datatableGrid = New DataTable
        datatableGrid.Columns.Add("ID", GetType(Integer))
        datatableGrid.Columns.Add("Name", GetType(String))
        SsiGrid1.DataSource = datatableGrid

        SsiGrid1.DisplayLayout.GroupByBox.Hidden = True
        SsiGrid1.DisplayLayout.Override.RowSelectors = DefaultableBoolean.True
        SsiGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.TemplateOnBottom

        SsiGrid1.DisplayLayout.Bands(0).Columns("ID").EditorComponent = UltraCombo1
        SsiGrid1.DisplayLayout.Bands(0).Columns("ID").CellClickAction = CellClickAction.EditAndSelectText
        SsiGrid1.DisplayLayout.Bands(0).Columns("ID").Style = ColumnStyle.DropDownValidate
    End Sub

    Private Sub UltraCombo1_InitializeLayout(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles UltraCombo1.InitializeLayout
        UltraCombo1.ValueMember = "ID"
        UltraCombo1.DisplayMember = "Name"

        Dim band As UltraGridBand = Me.UltraCombo1.DisplayLayout.Bands(0)

        Dim position As Integer = 0
        band.Columns("ID").Hidden = False
        band.Columns("ID").Header.VisiblePosition = position
        position += 1
        band.Columns("Name").Hidden = False
        band.Columns("Name").Header.VisiblePosition = position
        position += 1

        band.Override.AllowRowFiltering = DefaultableBoolean.False
        band.Override.RowFilterMode = RowFilterMode.AllRowsInBand

        band.ColumnFilters("ID").FilterConditions.Clear()
        band.ColumnFilters("ID").FilterConditions.Add(FilterComparisionOperator.NotEquals, 0)
    End Sub

End Class

我相信这应该会让组合框不会显示零行,除非你实际输入了一个零。但当我运行它时,它确实显示了零行。我的代码有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-08 01:02:32

你是对的。此代码应从下拉列表中隐藏零。出现此错误的一个可能原因可能是您没有实际处理组合的InitializeLayout事件。如果针对InitializeLayout事件选择了UltraCombo1_InitializeLayout,您可以通过打开设计器,选择组合框并签入属性窗口来轻松地检查这一点。您还可以将断点放在事件处理程序中的某个位置,并查看是否曾经到达过它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35805558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档