Unable To set row visible false of a datagridview

Amit Bisht picture Amit Bisht · Sep 22, 2013 · Viewed 33.4k times · Source

I have a DataGridView where I set DataSource:

taskerEntities te = new taskerEntities();
var OMsMasterDescriptiveIndicators = te.MyTable.Select(x => new lccls {Id = x.Id, name = x.name }).ToList();
MyGrid.DataSource = OMsMasterDescriptiveIndicators;

with my class lccls as

public class lccls
    {
        public string Id { get; set; }
        public Nullable<decimal> name { get; set; }
    }

At a certain event I want to make the current row invisible:

 MyGrid.Rows[5].Visible = false;

But I am unable to do this. Instead an exception is thrown with the following error message:

Row associated with the currency manager's position cannot be made invisible

I suspect the reason is related to setting DataSource, but why?

Answer

Amit Bisht picture Amit Bisht · Sep 22, 2013

After searching a lot, I got the solution

CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[MyGrid.DataSource];  
currencyManager1.SuspendBinding();
MyGrid.Rows[5].Visible = false;
currencyManager1.ResumeBinding();