This is a migrated thread and some comments may be shown as answers.

Filter on pre-defined columns

4 Answers 139 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Chris
Top achievements
Rank 1
Chris asked on 03 Mar 2010, 03:02 AM
Hi,

I have a gridview bound to a datatable with columns defined in the design view and autogenerate columns turned off.
Filtering is enabled on both the gridview and gridviewtemplate yet whenever the filter text is changed no filtering takes place even though the FilterChanged event is firing.
If i remove my defined columns and enable autogenerate the filtering works as expected.
Version is Q3 2009 SP1.

Regards,
Chris


4 Answers, 1 is accepted

Sort by
0
Julian Benkov
Telerik team
answered on 05 Mar 2010, 12:10 PM
Hello Chris,

I made a test for the reported scenario and I did not find any problem. Please send us a simple project with your case to debug the problem locally. Thank you in advance.

Greetings,
Julian Benkov
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.
0
Chris
Top achievements
Rank 1
answered on 08 Mar 2010, 12:31 AM
Hi,
Here's a new form with 2 gridviews, the one with autogenerate off does not filter for me. Referencing version 2009.3.9.1203

Form1.Designer.vb
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _  
Partial Class Form1  
    Inherits System.Windows.Forms.Form  
 
    '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()  
        Dim GridViewTextBoxColumn4 As Telerik.WinControls.UI.GridViewTextBoxColumn = New Telerik.WinControls.UI.GridViewTextBoxColumn  
        Dim GridViewTextBoxColumn5 As Telerik.WinControls.UI.GridViewTextBoxColumn = New Telerik.WinControls.UI.GridViewTextBoxColumn  
        Dim GridViewTextBoxColumn6 As Telerik.WinControls.UI.GridViewTextBoxColumn = New Telerik.WinControls.UI.GridViewTextBoxColumn  
        Me.RadGridView1 = New Telerik.WinControls.UI.RadGridView  
        Me.RadGridView2 = New Telerik.WinControls.UI.RadGridView  
        CType(Me.RadGridView1, System.ComponentModel.ISupportInitialize).BeginInit()  
        CType(Me.RadGridView1.MasterGridViewTemplate, System.ComponentModel.ISupportInitialize).BeginInit()  
        CType(Me.RadGridView2, System.ComponentModel.ISupportInitialize).BeginInit()  
        CType(Me.RadGridView2.MasterGridViewTemplate, System.ComponentModel.ISupportInitialize).BeginInit()  
        Me.SuspendLayout()  
        '  
        'RadGridView1  
        '  
        Me.RadGridView1.BackColor = System.Drawing.SystemColors.Control  
        Me.RadGridView1.Cursor = System.Windows.Forms.Cursors.Default 
        Me.RadGridView1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!)  
        Me.RadGridView1.ForeColor = System.Drawing.SystemColors.ControlText  
        Me.RadGridView1.ImeMode = System.Windows.Forms.ImeMode.NoControl  
        Me.RadGridView1.Location = New System.Drawing.Point(64, 49)  
        '  
        'GridViewTemplate2  
        '  
        Me.RadGridView1.MasterGridViewTemplate.AllowAddNewRow = False 
        Me.RadGridView1.MasterGridViewTemplate.AllowDeleteRow = False 
        Me.RadGridView1.MasterGridViewTemplate.AllowEditRow = False 
        Me.RadGridView1.MasterGridViewTemplate.AutoGenerateColumns = False 
        Me.RadGridView1.MasterGridViewTemplate.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill  
        GridViewTextBoxColumn4.FieldAlias = "AccountID" 
        GridViewTextBoxColumn4.FieldName = "AccountID" 
        GridViewTextBoxColumn4.HeaderText = "column1" 
        GridViewTextBoxColumn4.UniqueName = "column1" 
        GridViewTextBoxColumn4.Width = 236  
        GridViewTextBoxColumn5.FieldAlias = "AccountCode" 
        GridViewTextBoxColumn5.FieldName = "AccountCode" 
        GridViewTextBoxColumn5.HeaderText = "column2" 
        GridViewTextBoxColumn5.UniqueName = "column2" 
        GridViewTextBoxColumn5.Width = 236  
        GridViewTextBoxColumn6.FieldAlias = "AccountName" 
        GridViewTextBoxColumn6.FieldName = "AccountName" 
        GridViewTextBoxColumn6.HeaderText = "column3" 
        GridViewTextBoxColumn6.UniqueName = "column3" 
        GridViewTextBoxColumn6.Width = 236  
        Me.RadGridView1.MasterGridViewTemplate.Columns.Add(GridViewTextBoxColumn4)  
        Me.RadGridView1.MasterGridViewTemplate.Columns.Add(GridViewTextBoxColumn5)  
        Me.RadGridView1.MasterGridViewTemplate.Columns.Add(GridViewTextBoxColumn6)  
        Me.RadGridView1.MasterGridViewTemplate.EnableFiltering = True 
        Me.RadGridView1.MasterGridViewTemplate.EnableGrouping = False 
        Me.RadGridView1.Name = "RadGridView1" 
        Me.RadGridView1.ReadOnly = True 
        Me.RadGridView1.RightToLeft = System.Windows.Forms.RightToLeft.No  
        Me.RadGridView1.ShowGroupPanel = False 
        Me.RadGridView1.Size = New System.Drawing.Size(634, 150)  
        Me.RadGridView1.TabIndex = 0  
        '  
        'RadGridView2  
        '  
        Me.RadGridView2.BackColor = System.Drawing.SystemColors.Control  
        Me.RadGridView2.Cursor = System.Windows.Forms.Cursors.Default 
        Me.RadGridView2.EnableAlternatingRowColor = True 
        Me.RadGridView2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!)  
        Me.RadGridView2.ForeColor = System.Drawing.SystemColors.ControlText  
        Me.RadGridView2.ImeMode = System.Windows.Forms.ImeMode.NoControl  
        Me.RadGridView2.Location = New System.Drawing.Point(64, 237)  
        '  
        'GridViewTemplate1  
        '  
        Me.RadGridView2.MasterGridViewTemplate.AllowAddNewRow = False 
        Me.RadGridView2.MasterGridViewTemplate.AllowDeleteRow = False 
        Me.RadGridView2.MasterGridViewTemplate.AllowEditRow = False 
        Me.RadGridView2.MasterGridViewTemplate.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill  
        Me.RadGridView2.MasterGridViewTemplate.EnableFiltering = True 
        Me.RadGridView2.MasterGridViewTemplate.EnableGrouping = False 
        Me.RadGridView2.Name = "RadGridView2" 
        Me.RadGridView2.ReadOnly = True 
        Me.RadGridView2.RightToLeft = System.Windows.Forms.RightToLeft.No  
        Me.RadGridView2.ShowGroupPanel = False 
        Me.RadGridView2.Size = New System.Drawing.Size(634, 150)  
        Me.RadGridView2.TabIndex = 0  
        '  
        'Form1  
        '  
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)  
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font  
        Me.ClientSize = New System.Drawing.Size(898, 511)  
        Me.Controls.Add(Me.RadGridView2)  
        Me.Controls.Add(Me.RadGridView1)  
        Me.Name = "Form1" 
        Me.Text = "Form1" 
        CType(Me.RadGridView1.MasterGridViewTemplate, System.ComponentModel.ISupportInitialize).EndInit()  
        CType(Me.RadGridView1, System.ComponentModel.ISupportInitialize).EndInit()  
        CType(Me.RadGridView2.MasterGridViewTemplate, System.ComponentModel.ISupportInitialize).EndInit()  
        CType(Me.RadGridView2, System.ComponentModel.ISupportInitialize).EndInit()  
        Me.ResumeLayout(False)  
 
    End Sub 
    Friend WithEvents RadGridView1 As Telerik.WinControls.UI.RadGridView  
    Friend WithEvents RadGridView2 As Telerik.WinControls.UI.RadGridView 

Form1.vb
Public Class Form1  
 
    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load  
        Dim dt As New DataTable  
        dt.Columns.Add("AccountID"GetType(Integer))  
        dt.Columns.Add("AccountCode"GetType(String))  
        dt.Columns.Add("AccountName"GetType(String))  
 
        Dim row As DataRow  
        row = dt.NewRow()  
        row("AccountID") = 1  
        row("AccountCode") = "ONE" 
        row("AccountName") = "First Account" 
        dt.Rows.Add(row)  
        row = dt.NewRow()  
        row("AccountID") = 2  
        row("AccountCode") = "TWO" 
        row("AccountName") = "Second Account" 
        dt.Rows.Add(row)  
        row = dt.NewRow()  
        row("AccountID") = 3  
        row("AccountCode") = "TEST" 
        row("AccountName") = "Test Account" 
        dt.Rows.Add(row)  
        dt.AcceptChanges()  
 
        Dim dt2 As DataTable = dt.Copy()  
 
        RadGridView1.MasterGridViewTemplate.DataSource = dt  
        RadGridView2.MasterGridViewTemplate.DataSource = dt2  
 
    End Sub 
 
End Class 
0
Julian Benkov
Telerik team
answered on 11 Mar 2010, 01:02 PM
Hi Chris ,

We found a problem related to UniqueName of columns and filtering. The fix will be available in our next release. Currently you can set the UniqueName of all columns to be the same like the FieldName:

GridViewTextBoxColumn4.FieldAlias = "AccountID"  
GridViewTextBoxColumn4.FieldName = "AccountID"  
GridViewTextBoxColumn4.HeaderText = "column1"  
GridViewTextBoxColumn4.UniqueName = "AccountID"  
GridViewTextBoxColumn4.Width = 236   
GridViewTextBoxColumn5.FieldAlias = "AccountCode"  
GridViewTextBoxColumn5.FieldName = "AccountCode"  
GridViewTextBoxColumn5.HeaderText = "column2"  
GridViewTextBoxColumn5.UniqueName = "AccountCode"  
GridViewTextBoxColumn5.Width = 236   
GridViewTextBoxColumn6.FieldAlias = "AccountName"  
GridViewTextBoxColumn6.FieldName = "AccountName"  
GridViewTextBoxColumn6.HeaderText = "column3"  
GridViewTextBoxColumn6.UniqueName = "AccountName"

Thank you for the code snippets. Your Telerik points have been updated.

Greetings,
Julian Benkov
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.
0
Stefan
Telerik team
answered on 16 Jul 2010, 09:20 AM
Hi Chris ,

I am writing to inform you that the issue that you have submitted in this ticket has been solved in Q2 2010 (http://www.telerik.com/products/whats-new-winforms.aspx). Feel free to take a look at our Release Notes which will guide you through all the improvements and changes that were made in this release.

You can download the new version from Free Trials (http://www.telerik.com/account/free-trials.aspx), section of your account.

As always we will appreciate your feedback on the new release, since this is very important part of our company policies.

If you need any assistance, do not hesitate to contact us.

Sincerely yours,
Stefan
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
Tags
GridView
Asked by
Chris
Top achievements
Rank 1
Answers by
Julian Benkov
Telerik team
Chris
Top achievements
Rank 1
Stefan
Telerik team
Share this question
or