Is there any way we can have multiple columns based filtering in MultiColumnCombo...
Example:
RadMultiColumnComboBoxElement
multiColumnComboElement = this.mcboSample.MultiColumnComboBoxElement;
multiColumnComboElement.EditorControl.MasterGridViewTemplate.AutoGenerateColumns =
false;
multiColumnComboElement.Columns.Add(
new GridViewTextBoxColumn("Code"));
multiColumnComboElement.Columns.Add(
new GridViewTextBoxColumn("RealName"));
multiColumnComboElement.Columns.Add(
new GridViewTextBoxColumn("NickName"));
multiColumnComboElement.Rows.Add(
"1011", "Paul Wight, Jr.", "Big Show");
multiColumnComboElement.Rows.Add(
"1022", "Carlos Colón, Jr.", "Carlito");
multiColumnComboElement.Rows.Add(
"2031", "Matthew Korklan", "Evan Bourne");
multiColumnComboElement.Rows.Add(
"2032", "Mike Mizanin", "The Miz");
multiColumnComboElement.Rows.Add(
"4101", "Paul Levesque", "Triple H");
this.mcboSample.AutoFilter = true;
this.mcboSample.DisplayMember = "NickName";
FilterExpression filter = new FilterExpression(this.mcboSample.DisplayMember, FilterExpression.BinaryOperation.AND,
GridKnownFunction.Contains, GridFilterCellElement.ParameterName);
filter.Parameters.Add(
GridFilterCellElement.ParameterName, true);
this.mcboSample.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filter);
The above works fine based on NickName but I would have like have one more filter option based on RealName as well.
Thanks
Br,
MKK
18 Answers, 1 is accepted
Thank you for contacting us. You may find more information regarding filter expressions here. You can create a second filter expression as follows:
FilterExpression filterRealName =
new
FilterExpression(
"RealName"
, FilterExpression.BinaryOperation.AND, GridKnownFunction.Contains, GridFilterCellElement.ParameterName);
filterRealName.Parameters.Add(GridFilterCellElement.ParameterName,
"Your value 1"
);
this
.mcboSample.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterRealName);
FilterExpression filterNickName =
new
FilterExpression(
"NickName"
, FilterExpression.BinaryOperation.AND, GridKnownFunction.Contains, GridFilterCellElement.ParameterName);
filterNickName.Parameters.Add(GridFilterCellElement.ParameterName,
"Your Value 2"
);
this
.mcboSample.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterNickName);
Please provide the reason that the type of the parameter value is Boolean when the filtered columns is a string type?
Best wishes,
Svett
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Hello,
still am having some problem while selecting the values from the GridViewMultiComboBoxColumn.
For Example:
In TextChanged event while filter the values it throws an exeception "The collection already contains a FilterExpresion for the field 'RealName'.
using
System.Windows.Forms;
using Telerik.WinControls.UI;
using Telerik.WinControls.Data;
using System.Data;
using Telerik.WinControls;
using System.Threading;
namespace
MultiComboApp
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
FilterExpression filterRealName;
FilterExpression filterNickName;
FilterExpression filterCode;
DataTable dtData;
private void LoadTable()
{
dtData =
new DataTable();
dtData.Columns.Add(
"Code");
dtData.Columns.Add(
"RealName");
dtData.Columns.Add(
"NickName");
dtData.Rows.Add(
new object[] { "1011", "dinesh", "din13" });
dtData.Rows.Add(
new object[] { "1022", "dineshkumar", "Guru23" });
dtData.Rows.Add(
new object[] { "2031", "Vijay", "Vin31" });
dtData.Rows.Add(
new object[] { "2032", "Vignesh", "Vick32" });
dtData.Rows.Add(
new object[] { "4101", "Senthil", "sen01" });
}
private void FillGrid()
{
GridViewMultiComboBoxColumn gvmcTest = new GridViewMultiComboBoxColumn();
gvmcTest.DataSource = dtData;
gvmcTest.AutoCompleteMode =
AutoCompleteMode.SuggestAppend;
gvmcTest.DropDownStyle =
RadDropDownStyle.DropDown;
gvTest.Columns.Add(gvmcTest);
gvTest.Columns[0].Width = 300;
filterRealName =
new FilterExpression("RealName", FilterExpression.BinaryOperation.OR,
GridKnownFunction.StartsWith, GridFilterCellElement.ParameterName);
filterNickName =
new FilterExpression("NickName", FilterExpression.BinaryOperation.OR,
GridKnownFunction.StartsWith, GridFilterCellElement.ParameterName);
filterCode =
new FilterExpression("Code", FilterExpression.BinaryOperation.OR,
GridKnownFunction.StartsWith, GridFilterCellElement.ParameterName);
}
private void Form1_Load(object sender, System.EventArgs e)
{
LoadTable();
FillGrid();
}
private void gvTest_CellEditorInitialized(object sender, GridViewCellEventArgs e)
{
RadMultiColumnComboBoxElement comboColumn = (RadMultiColumnComboBoxElement)this.gvTest.ActiveEditor;
comboColumn.AutoSizeDropDownToBestFit =
true;
comboColumn.AutoFilter =
true;
comboColumn.TextChanged +=
new System.EventHandler(editor_TextChanged);
}
void editor_TextChanged(object sender, System.EventArgs e)
{
RadMultiColumnComboBoxElement editor = (RadMultiColumnComboBoxElement)this.gvTest.ActiveEditor;
string sText = editor.Text.Trim();
// When the lock is obtained, add an element.
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Remove(filterRealName);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Remove(filterNickName);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Remove(filterCode);
filterRealName.Parameters.Clear();
filterNickName.Parameters.Clear();
filterCode.Parameters.Clear();
filterRealName.Parameters.Add(
GridFilterCellElement.ParameterName, sText);
filterNickName.Parameters.Add(
GridFilterCellElement.ParameterName, sText);
filterCode.Parameters.Add(
GridFilterCellElement.ParameterName, sText);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterRealName);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterNickName);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterCode);
editor.EditorControl.GridElement.Update(
GridUINotifyAction.FilteringChanged);
}
}
}
Thank you for contacting us. You can try to Clear the FilterExpresionCollection before adding the new filter expressions:
void
editor_TextChanged(
object
sender, System.EventArgs e)
{
RadMultiColumnComboBoxElement editor = (RadMultiColumnComboBoxElement)
this
.gvTest.ActiveEditor;
string
sText = editor.Text.Trim();
// When the lock is obtained, add an element.
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Clear();
filterRealName.Parameters.Clear();
filterNickName.Parameters.Clear();
filterCode.Parameters.Clear();
filterRealName.Parameters.Add(GridFilterCellElement.ParameterName, sText);
filterNickName.Parameters.Add(GridFilterCellElement.ParameterName, sText);
filterCode.Parameters.Add(GridFilterCellElement.ParameterName, sText);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterRealName);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterNickName);
editor.EditorControl.MasterGridViewTemplate.FilterExpressions.Add(filterCode);
editor.EditorControl.GridElement.Update(GridUINotifyAction.FilteringChanged);
}
Sincerely yours,
Julian Benkov
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
I was actually using the same code snippet in the TextChanged event handler but still that does not work properly. It does filtering but when trying to select value from the filtered drop down list(in my example typing 'C' filters the list and displays 3 items in the drop down list: Cabbage, Carrot, Corn). But when I try to select any of them the first value from the DataSource(in my case it is List<string>) is picked up and displayed in the drop down automatically. Any ideas?
Thanks,
Dima
Although it is possible to define multiple filter expressions based on different columns in the grid view of the RadMultiColumnComboBox, this control is not particularly designed to handle this case. Each time a row is selected in the gridview the value of the current display member is considered and displayed in the text box part of the control. Currently, we do not recommend inserting multiple filter expressions in the grid view of the RadMultiColumnComboBox since undesired behavior will occur.
I would also like to inform you that we have plans to rewrite this control and extend its functionality (also addressing the limitations of the filtering functionality), but I cannot give you an exact estimation when this will happen.
Thanks for the understanding and do not hesitate to write back in case you have further questions.
Kind regards,
Deyan
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Also in the documentation the obsoluted FilterExpression method is described only.
thanks,
Levente
Thanks for contacting us and for your question.
Please take a look at the source code of the RadMultiColumnComboBox example in our Examples Application where you can find sample code demonstrating how to use the FilterDescriptor class to implement AutoFilter in the control:
FilterDescriptor descriptor =
new
FilterDescriptor(
this
.radMultiColumnComboBox1.DisplayMember, FilterOperator.StartsWith,
string
.Empty);
this
.radMultiColumnComboBox1.EditorControl.FilterDescriptors.Add(descriptor);
I hope this helps.
Kind regards,
Deyan
the Telerik team
in my case the code looks like:
public MainForm()
{
RadMultiColumnComboBoxElement
multiColumnComboElement = cbSecurity.MultiColumnComboBoxElement;
multiColumnComboElement.EditorControl.MasterGridViewTemplate.AutoGenerateColumns =
false;
multiColumnComboElement.Columns.Add(
new GridViewTextBoxColumn("SecurityId"));
multiColumnComboElement.Columns.Add(
new GridViewTextBoxColumn("Symbol"));
multiColumnComboElement.Columns.Add(
new GridViewTextBoxColumn("SymbolDescription"));
}
protected
override void OnLoad(EventArgs e)
{
base.OnLoad(e);
cbSecurity.AutoFilter =
true;
cbSecurity.DataSource = securities;
cbSecurity.DisplayMember =
"Symbol";
FilterDescriptor symbolDescriptor = new FilterDescriptor("Symbol", FilterOperator.StartsWith, string.Empty);
FilterDescriptor nameDescriptor = new FilterDescriptor("SymbolDescription", FilterOperator.StartsWith, string.Empty);
cbSecurity.EditorControl.FilterDescriptors.Add(symbolDescriptor);
cbSecurity.EditorControl.FilterDescriptors.Add(nameDescriptor);
cbSecurity.DropDownStyle =
RadDropDownStyle.DropDown;
}
The problem is that the filter only seems to work on "Symbol". I would like to have it filter based on either column. Is this possible?
Thank you for writing.
RadMultiColumnComboBox does not supports auto-filtering based on more than one field. That is why adding two or more FilterDescriptors does not work as expected. We will consider including this feature in one of the next releases.
Let me know if you have any other questions.
Greetings,
Martin Vasilev
the Telerik team
I am using RadMultiColumnComboBox in combination with an FilterExpression. Now I want to change the the filter for the RadMultiColumnComboBox.
multiColumnComboBox .EditorControl.MasterGridViewTemplate.FilterExpressions.Clear();
FilterExpression myFilter =
new
FilterExpression(
"ScenarioID"
, FilterExpression.BinaryOperation.AND, GridKnownFunction.Contains, GridFilterCellElement.ParameterName);
filterSupplier.Parameters.Add(GridFilterCellElement.ParameterName,
"txt"
);
multiColumnComboBox .EditorControl.MasterGridViewTemplate.FilterExpressions.Add(myFilter );
multiColumnComboBox .EditorControl.GridElement.Update(GridUINotifyAction.FilteringChanged);
Initially the filter is applier correctly, but when i am using the code shown, the filter is not correctly applied on the content.
Could you please give me some hints how to fix the problem?
Thx,
Georg
it seems that i had a problem with my code. It work now like a charm. But I've got an other problem. How can I programmatically select an item in the MultiColumnCombo and show the displayMember-Value correct in the MultiColumnCombo (so the value shoud be in the Text member of the Combo element).
Thanks,
Georg
Thank you for writing.
I am not sure if I understand correctly your requirement. Do you want to set the selected item? If yes, then you can use one of the RadMultiColumnComboBox's SelectedIndex, SelectedItem or SelectedValue properties.
Let me know if you have any additional questions.
Best wishes,
Martin Vasilev
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
Hello...
Please help me. Can't filter by Kode. but filter by nama is work.
For reference, here is my example again which is now working correctly
Imports
Telerik.WinControls.UI
Imports
Telerik.WinControls.Data
Imports
Telerik.WinControls
Public
Class
RadForm2
#Region "WindowsGenerateForm"
Inherits
Telerik.WinControls.UI.RadForm
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected
Overrides
Sub
Dispose(
ByVal
disposing
As
Boolean
)
Try
If
disposing
AndAlso
components IsNot
Nothing
Then
components.Dispose()
End
If
Finally
MyBase
.Dispose(disposing)
End
Try
End
Sub
'Required by the Windows Form Designer
Private
components
As
System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private
Sub
InitializeComponent()
Me
.RadGridView1 =
New
Telerik.WinControls.UI.RadGridView()
Me
.RadLabel1 =
New
Telerik.WinControls.UI.RadLabel()
CType
(
Me
.RadGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType
(
Me
.RadGridView1.MasterTemplate, System.ComponentModel.ISupportInitialize).BeginInit()
CType
(
Me
.RadLabel1, System.ComponentModel.ISupportInitialize).BeginInit()
CType
(
Me
, System.ComponentModel.ISupportInitialize).BeginInit()
Me
.SuspendLayout()
'
'RadGridView1
'
Me
.RadGridView1.BackColor = System.Drawing.Color.FromArgb(
CType
(
CType
(191,
Byte
),
Integer
),
CType
(
CType
(219,
Byte
),
Integer
),
CType
(
CType
(255,
Byte
),
Integer
))
Me
.RadGridView1.Cursor = System.Windows.Forms.Cursors.
Default
Me
.RadGridView1.EnableHotTracking =
False
Me
.RadGridView1.Font =
New
System.Drawing.Font(
"Segoe UI"
, 8.25!)
Me
.RadGridView1.ForeColor = System.Drawing.Color.Black
Me
.RadGridView1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me
.RadGridView1.Location =
New
System.Drawing.Point(17, 32)
'
'RadGridView1
'
Me
.RadGridView1.MasterTemplate.AllowAddNewRow =
False
Me
.RadGridView1.MasterTemplate.EnableGrouping =
False
Me
.RadGridView1.MasterTemplate.EnableSorting =
False
Me
.RadGridView1.Name =
"RadGridView1"
Me
.RadGridView1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me
.RadGridView1.ShowGroupPanel =
False
Me
.RadGridView1.Size =
New
System.Drawing.Size(629, 236)
Me
.RadGridView1.TabIndex = 0
Me
.RadGridView1.Text =
"RadGridView1"
'
'RadLabel1
'
Me
.RadLabel1.Location =
New
System.Drawing.Point(110, 8)
Me
.RadLabel1.Name =
"RadLabel1"
Me
.RadLabel1.Size =
New
System.Drawing.Size(58, 18)
Me
.RadLabel1.TabIndex = 1
Me
.RadLabel1.Text =
"RadLabel1"
'
'RadForm2
'
Me
.AutoScaleDimensions =
New
System.Drawing.SizeF(6.0!, 13.0!)
Me
.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me
.ClientSize =
New
System.Drawing.Size(669, 292)
Me
.Controls.Add(
Me
.RadLabel1)
Me
.Controls.Add(
Me
.RadGridView1)
Me
.Name =
"RadForm2"
'
'
'
Me
.RootElement.ApplyShapeToControl =
True
Me
.Text =
"RadForm2"
CType
(
Me
.RadGridView1.MasterTemplate, System.ComponentModel.ISupportInitialize).EndInit()
CType
(
Me
.RadGridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType
(
Me
.RadLabel1, System.ComponentModel.ISupportInitialize).EndInit()
CType
(
Me
, System.ComponentModel.ISupportInitialize).EndInit()
Me
.ResumeLayout(
False
)
Me
.PerformLayout()
End
Sub
Friend
WithEvents
RadGridView1
As
Telerik.WinControls.UI.RadGridView
Friend
WithEvents
RadLabel1
As
Telerik.WinControls.UI.RadLabel
#End Region
Sub
New
()
InitializeComponent()
End
Sub
Private
KontakList
As
List(Of clsModel)
Private
tbSubscribed
As
Boolean
=
False
Private
Sub
RadForm2_Load1(sender
As
Object
, e
As
EventArgs)
Handles
Me
.Load
KontakList = GetAllKontak()
With
RadGridView1
.Columns.Add(
"Nama"
)
.Columns.Add(
"Alamat"
)
.MultiSelect =
True
.AllowRowResize =
False
.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill
End
With
Dim
Kode
As
New
GridViewMultiComboBoxColumn()
With
Kode
.Name =
"Kode"
.HeaderText =
"Kode"
.DisplayMember =
"kode"
.ValueMember =
"kode"
'.DataSource = KontakList
End
With
RadGridView1.Columns.Insert(0, Kode)
RadGridView1.Rows.AddNew()
End
Sub
Private
Sub
RadGridView1_CellEditorInitialized(sender
As
Object
, e
As
GridViewCellEventArgs)
Handles
RadGridView1.CellEditorInitialized
Dim
multiComboElement
As
RadMultiColumnComboBoxElement = TryCast(RadGridView1.ActiveEditor, RadMultiColumnComboBoxElement)
If
multiComboElement IsNot
Nothing
Then
With
multiComboElement
.DataSource = KontakList
.DropDownStyle = RadDropDownStyle.DropDown
.EditorControl.MasterTemplate.BestFitColumns()
.AutoSizeDropDownToBestFit =
True
.DisplayMember =
"kode"
.ValueMember =
"kode"
.Text =
""
Dim
fkode
As
FilterDescriptor =
New
FilterDescriptor(
"Kode"
, FilterOperator.StartsWith,
String
.Empty)
' FilterOperator.Contains, "")
fkode.IsFilterEditor =
False
.EditorControl.FilterDescriptors.Add(fkode)
Dim
fnama
As
FilterDescriptor =
New
FilterDescriptor(
"Nama"
, FilterOperator.StartsWith,
String
.Empty)
' FilterOperator.Contains, "")
fnama.IsFilterEditor =
False
.EditorControl.FilterDescriptors.Add(fnama)
.EditorControl.FilterDescriptors.LogicalOperator = FilterLogicalOperator.[
Or
]
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoFilter =
True
'.EditorControl.GridBehavior = New MyMultiColumnComboGridBehavior()
If
.EditorControl.FilterDescriptors.Count = 0
Then
.EditorControl.FilterDescriptors.Add(.DisplayMember, FilterOperator.StartsWith, [
String
].Empty)
End
If
AddHandler
.TextBoxElement.TextBoxItem.HostedControl.KeyDown,
AddressOf
TextBox_KeyDown
'AddHandler .EditorControl.SelectionChanged, AddressOf cKontak_SelectedIndexChanged
End
With
End
If
Dim
tbEditor
As
RadTextBoxEditor = TryCast(RadGridView1.ActiveEditor, RadTextBoxEditor)
If
Not
tbEditor
Is
Nothing
Then
If
(
Not
tbSubscribed)
Then
tbSubscribed =
True
Dim
tbElement
As
RadTextBoxEditorElement =
CType
(tbEditor.EditorElement, RadTextBoxEditorElement)
AddHandler
tbElement.KeyDown,
AddressOf
CellEditor_KeyDown
End
If
End
If
End
Sub
Private
Sub
TextBox_KeyDown(
ByVal
sender
As
Object
,
ByVal
e
As
KeyEventArgs)
Select
Case
RadGridView1.Columns(RadGridView1.CurrentColumn.Index).Name
Case
"Kode"
If
e.KeyCode = Keys.Enter
Then
Dim
element
As
RadMultiColumnComboBoxElement = TryCast(RadGridView1.ActiveEditor, RadMultiColumnComboBoxElement)
If
element.EditorControl.CurrentRow IsNot
Nothing
AndAlso
element.EditorControl.CurrentRow.DataBoundItem IsNot
Nothing
Then
Dim
kontak
As
clsModel = TryCast(element.EditorControl.CurrentRow.DataBoundItem, clsModel)
If
kontak
Is
Nothing
Then
Return
End
If
Dim
index
As
Integer
=
Me
.KontakList.IndexOf(kontak)
element.SelectedIndex = index
RadGridView1.CurrentRow.Cells(
"Kode"
).Value = kontak.Kode
RadGridView1.CurrentRow.Cells(
"Nama"
).Value = kontak.Nama
RadGridView1.CurrentRow.Cells(
"Alamat"
).Value = kontak.Alamat
element.Invalidate(
True
)
End
If
Dim
currentCell = RadGridView1.Rows(RadGridView1.Rows.Count - 1).Cells(2)
currentCell.IsSelected =
True
currentCell.BeginEdit()
End
If
If
e.KeyCode = Keys.Down
Then
Dim
element
As
RadMultiColumnComboBoxElement = TryCast(RadGridView1.ActiveEditor, RadMultiColumnComboBoxElement)
element.ShowPopup()
End
If
End
Select
End
Sub
Private
Sub
CellEditor_KeyDown(
ByVal
sender
As
Object
,
ByVal
e
As
KeyEventArgs)
If
e.KeyCode = Keys.Enter
Then
Select
Case
RadGridView1.Columns(RadGridView1.CurrentColumn.Index).Name
Case
"Alamat"
Dim
rowInfo
As
New
GridViewDataRowInfo(RadGridView1.MasterView)
Dim
editor
As
RadTextBoxEditorElement = TryCast(sender, RadTextBoxEditorElement)
rowInfo.Cells(
"Kode"
).Value =
""
rowInfo.Cells(
"Nama"
).Value =
""
rowInfo.Cells(
"Alamat"
).Value =
""
RadGridView1.Rows.Add(rowInfo)
Dim
currentCell = RadGridView1.Rows(RadGridView1.Rows.Count - 1).Cells(0)
currentCell.IsSelected =
True
currentCell.BeginEdit()
End
Select
End
If
End
Sub
'Private Sub cKontak_SelectedIndexChanged(sender As Object, e As EventArgs)
' Dim multiComboElement As RadMultiColumnComboBoxElement = TryCast(RadGridView1.ActiveEditor, RadMultiColumnComboBoxElement)
' Dim text As String
' text = multiComboElement.EditorControl.Rows(multiComboElement.SelectedIndex).Cells("Nama").Value
' RadLabel1.Text = text
'End Sub
Public
Shared
Function
GetAllKontak()
As
IList(Of clsModel)
Dim
daftarKontak =
New
List(Of clsModel)()
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110001"
, .Nama =
"AGUNG"
, .Alamat =
"Jl. Bandung"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110002"
, .Nama =
"BUDI"
, .Alamat =
"Jl. Jakarta"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110003"
, .Nama =
"ADI AGUNG"
, .Alamat =
"Jl. Bumi Mondoroko"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110004"
, .Nama =
"AHMAD BAJURI"
, .Alamat =
"Jl. Gajayana"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110005"
, .Nama =
"SAHARA IRA"
, .Alamat =
"Jl. Sumbersari"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110006"
, .Nama =
"JULIUS"
, .Alamat =
"Jl. Puncak Joyo"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110007"
, .Nama =
"IKAWATI"
, .Alamat =
"Jl. Pahlawan"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110008"
, .Nama =
"RONI STIAWAN"
, .Alamat =
"Jl. Selorejo"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110009"
, .Nama =
"JAKA SEMBUNG"
, .Alamat =
"Jl. Sarangan"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110010"
, .Nama =
"BRAHMA KUMBARA"
, .Alamat =
"Jl. Bendungan Sutami"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110011"
, .Nama =
"JAKA SENA"
, .Alamat =
"Jl. Veteran"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110012"
, .Nama =
"PRAMA ANGGANA"
, .Alamat =
"Jl. Surabaya"
})
daftarKontak.Add(
New
clsModel()
With
{.Kode =
"110013"
, .Nama =
"WIRO SABLENG"
, .Alamat =
"Jl. Kayu Tangan"
})
Return
daftarKontak
End
Function
End
Class
Imports
System.ComponentModel
Public
Class
clsModel
Private
_kode
As
String
Private
_nama
As
String
Private
_alamat
As
String
Public
Event
PropertyChanged
As
PropertyChangedEventHandler
Public
Property
Kode()
As
String
Get
Return
Me
._kode
End
Get
Set
(value
As
String
)
If
Me
._kode <> value
Then
Me
._kode = value
OnPropertyChanged(
"Kode"
)
End
If
End
Set
End
Property
Public
Property
Nama()
As
String
Get
Return
Me
._nama
End
Get
Set
(value
As
String
)
If
Me
._nama <> value
Then
Me
._nama = value
OnPropertyChanged(
"Nama"
)
End
If
End
Set
End
Property
Public
Property
Alamat()
As
String
Get
Return
Me
._alamat
End
Get
Set
(value
As
String
)
If
Me
._alamat <> value
Then
Me
._alamat = value
OnPropertyChanged(
"Alamat"
)
End
If
End
Set
End
Property
Protected
Overridable
Sub
OnPropertyChanged(propertyName
As
String
)
RaiseEvent
PropertyChanged(
Me
,
New
PropertyChangedEventArgs(propertyName))
End
Sub
End
Class
Thank you for writing.
I managed to use all of your code and build an example project. On my side the data is filtered correctly either by "Kode" or by "Nama". In your last message you also mention that your example is now working correctly, this is what I also observed on my end.
Just in case I am sending you a sample project as well as a gif file showing the result on my side.
I hope this helps. Should you have further questions please do not hesitate to write back.
Regards,
Hristo Merdjanov
Telerik
Yeah right, fix problem when I do update telerik in 2015 version. Code can't work in 2014 version.
Thx Hristo Merdjanov
Thank you for writing.
Do you have any question related to this forum thread? I would be glad to help.
Regards,
Dess
Telerik by Progress