私はオブジェクトリストに-3000から10000の範囲の数値の列を使用しています。私は2000未満のフィルタを適用する必要があります(これにはすべての負の数値も含める必要があります)。私は例を読んで助けて(http://objectlistview.sourceforge.net/cs/filtering.html#filtering-label)、それはC#であり、私はVB.netで作業しています。私は通常、変換を把握することができますが、この1つは私を困惑させています。VB.net Objectlistview数値の範囲で列をフィルタリングする
デリゲートの代わりに(画像を適用する)関数を使用する別のコードがありますが、このフィルタリングインスタンスで機能するようにできませんでした。私も正規表現を使ってみましたが、数字を扱って以来、私は正規表現なしでそれをしなければならないと感じています。
誰かがこれを乗り越えるために、VB.netの番号範囲でカスタムフィルタリングの例を表示できますか?
ありがとうございます!私は一緒に投げた。ここ
を、それだけで(30の高さの下で両方)メアリー・スワンソンとジミニー・クリケットを示すべきです。ここで
は、私はOLVPrivate Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
Dim LvLst As New List(Of Person)
Dim LvItm As New Person With {.FirstName = "Joe",
.LastName = "Blow",
.Glasses = "Y",
.Height = "75",
.HeightBar = "75"}
LvLst.Add(LvItm)
Dim LvItm2 As New Person With {.FirstName = "Mary",
.LastName = "Swanson",
.Glasses = "N",
.Height = "25",
.HeightBar = "25"}
LvLst.Add(LvItm2)
Dim LvItm3 As New Person With {.FirstName = "Mike",
.LastName = "Tyson",
.Glasses = "N",
.Height = "125",
.HeightBar = "125"}
LvLst.Add(LvItm3)
Dim LvItm4 As New Person With {.FirstName = "Jiminy",
.LastName = "Cricket",
.Glasses = "Y",
.Height = "-9",
.HeightBar = "-9"}
LvLst.Add(LvItm4)
ObjectListView3.View = View.Details
Dim myImages = New ImageList
myImages.Images.Add(My.Resources.Hipster_Glasses_icon)
myImages.Images.Add(My.Resources.Button_important_icon)
ObjectListView3.SmallImageList = myImages
ObjectListView3.UseCellFormatEvents = True
ObjectListView3.OwnerDraw = True
Col_Glasses.ImageGetter = Function(x As Object) As Integer
Dim casted As Person = DirectCast(x, Person)
If casted.Glasses = "Y" Then
Return 0
Else
Return 1
End If
End Function
Col_Height.Renderer = New BarRenderer(0, 100, Pens.Black, Brushes.Gold)
'Set no data message
ObjectListView3.EmptyListMsg = "No Data Found"
ObjectListView3.EmptyListMsgFont = New Font("Tahoma", 18)
'Allows you to type and search inside the olv
ObjectListView3.IsSearchOnSortColumn = True
ObjectListView3.SetObjects(LvLst)
End Sub
を作成するために使用されるコードであり、これは私が
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
ObjectListView3.ModelFilter = Function(x As Object) As ModelFilter
Dim casted As Person = DirectCast(x, Person)
If casted.Height <= CInt(HeightFilter.Text) Then
Return x
End If
End Function
End Sub
人に
Public Class Person
Public Property FirstName As String
Public Property LastName As String
Public Property Glasses As String
Public Property Height As Integer
Public Property HeightBar As Integer
End Class
クラスを助けが必要なフィルタ]ボタンの背後にあるコードであります
IModelFilterがデリゲート型ではないというエラーが表示されます。私は何を私は関数から戻ってくるべきか分からない?メガネの列に使ったイメージを見ましたか?私は同じアプローチを使用しようとしていましたが、私はIModelFilterのためにこれを使用したことはありません。助けてくれてありがとう!
例のC#コードはかなり単純で、vb.netに簡単に変換する必要があります。試したコードを表示できますか? –
Convert c#to vb.net http://www.developerfusion.com/tools/convert/csharp-to-vb/ – Dejan
こんにちは@ChaseRocker要求通りに質問を更新しました。どんな助けでも大歓迎です –