Hello all,

I'm having a performance problem using the DataTable.DefaultView.RowFilter.
When setting the filter to MyField = "Something" this takes about 12 seconds
(this isn't the issue). Next if I change the filter to MyField In
('SomethingElse') it takes about 1 second (still not the issue), Next I set
the filter to "". This takes about 5 seconds (still not the issue). Finally
if I set the filter back to MyField = "Something" or MyField In
('SomethingElse') it takes like 30-45 seconds. This is the issue.

My DataTable is bound to a single control but I remove the binding prior to
changing the RowFilter and it doesn't make a difference.

In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468 ms,
no filter takes 6 seconds and back to the 1st takes 453 ms.

I cannot find a way to debug what it's doing in my actual app. I tried
stepping into RowFilter = "....." but nothing happens (thought maybe there
was an event I subscribed to and forgot) and as far as I can tell there are
no other controls bound to this DataTable.

Are there any tricks out there that may help me narrow this down?

Thanks for any help,
Joe

Re: DefaultView.RowFilter by W

W
Thu Jan 25 14:58:10 CST 2007

Every time you change the filter, you're creating a new object. If that
object is big, it can get really sluggish really quickly. Can you use Find
or Select on the DataTable?
"Joe" <jbassking@noemail.noemail> wrote in message
news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
> Hello all,
>
> I'm having a performance problem using the
> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
> "Something" this takes about 12 seconds (this isn't the issue). Next if I
> change the filter to MyField In ('SomethingElse') it takes about 1 second
> (still not the issue), Next I set the filter to "". This takes about 5
> seconds (still not the issue). Finally if I set the filter back to MyField
> = "Something" or MyField In ('SomethingElse') it takes like 30-45 seconds.
> This is the issue.
>
> My DataTable is bound to a single control but I remove the binding prior
> to changing the RowFilter and it doesn't make a difference.
>
> In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468
> ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>
> I cannot find a way to debug what it's doing in my actual app. I tried
> stepping into RowFilter = "....." but nothing happens (thought maybe there
> was an event I subscribed to and forgot) and as far as I can tell there
> are no other controls bound to this DataTable.
>
> Are there any tricks out there that may help me narrow this down?
>
> Thanks for any help,
> Joe
>



Re: DefaultView.RowFilter by Joe

Joe
Thu Jan 25 16:13:41 CST 2007

I realize that the performance can get bad by changing the RowFilter. My
issue is that my test app has the exact same data and the results are
completely different. This is why I think it has something to do with a
binding. My test app doesn't bind to anything.

"W.G. Ryan [MVP]" <WilliamRyan@nospam.gmail.com> wrote in message
news:%23TAwHOMQHHA.2140@TK2MSFTNGP03.phx.gbl...
> Every time you change the filter, you're creating a new object. If that
> object is big, it can get really sluggish really quickly. Can you use
> Find or Select on the DataTable?
> "Joe" <jbassking@noemail.noemail> wrote in message
> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>> Hello all,
>>
>> I'm having a performance problem using the
>> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
>> "Something" this takes about 12 seconds (this isn't the issue). Next if I
>> change the filter to MyField In ('SomethingElse') it takes about 1 second
>> (still not the issue), Next I set the filter to "". This takes about 5
>> seconds (still not the issue). Finally if I set the filter back to
>> MyField = "Something" or MyField In ('SomethingElse') it takes like 30-45
>> seconds. This is the issue.
>>
>> My DataTable is bound to a single control but I remove the binding prior
>> to changing the RowFilter and it doesn't make a difference.
>>
>> In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468
>> ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>>
>> I cannot find a way to debug what it's doing in my actual app. I tried
>> stepping into RowFilter = "....." but nothing happens (thought maybe
>> there was an event I subscribed to and forgot) and as far as I can tell
>> there are no other controls bound to this DataTable.
>>
>> Are there any tricks out there that may help me narrow this down?
>>
>> Thanks for any help,
>> Joe
>>
>
>



Re: DefaultView.RowFilter by Joe

Joe
Thu Jan 25 17:48:40 CST 2007

After further testing in my test app it turns out that once I assign my
table to the DataSource of a DataGridView the performance gets really bad.
Here's what I'm trying now:
dataGridView1.DataSource = null;
table.DefaultView.RowFilter = myfilter;
dataGridView1.DataSource = table;

If I never do the assignment to the DataGridView the RowFilter is pretty
quick. But once I assign it, it doesn't matter what I do I cannot get the
RowFilter to perform correctly.


"Joe" <jbassking@noemail.noemail> wrote in message
news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
> Hello all,
>
> I'm having a performance problem using the
> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
> "Something" this takes about 12 seconds (this isn't the issue). Next if I
> change the filter to MyField In ('SomethingElse') it takes about 1 second
> (still not the issue), Next I set the filter to "". This takes about 5
> seconds (still not the issue). Finally if I set the filter back to MyField
> = "Something" or MyField In ('SomethingElse') it takes like 30-45 seconds.
> This is the issue.
>
> My DataTable is bound to a single control but I remove the binding prior
> to changing the RowFilter and it doesn't make a difference.
>
> In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468
> ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>
> I cannot find a way to debug what it's doing in my actual app. I tried
> stepping into RowFilter = "....." but nothing happens (thought maybe there
> was an event I subscribed to and forgot) and as far as I can tell there
> are no other controls bound to this DataTable.
>
> Are there any tricks out there that may help me narrow this down?
>
> Thanks for any help,
> Joe
>



Re: DefaultView.RowFilter by RobinS

RobinS
Thu Jan 25 18:13:23 CST 2007

Are you filtering it for display on a form, like based on some
criteria on the form? Is it databound?

Are you using VB2005?

If so, you can use a BindingSource in between your data and your
bound controls, and apply the filter to that instead of to your
datatable. I think that will be faster.

Robin S.
-----------------------
"Joe" <jbassking@noemail.noemail> wrote in message
news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
> Hello all,
>
> I'm having a performance problem using the
> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
> "Something" this takes about 12 seconds (this isn't the issue). Next
> if I change the filter to MyField In ('SomethingElse') it takes about
> 1 second (still not the issue), Next I set the filter to "". This
> takes about 5 seconds (still not the issue). Finally if I set the
> filter back to MyField = "Something" or MyField In ('SomethingElse')
> it takes like 30-45 seconds. This is the issue.
>
> My DataTable is bound to a single control but I remove the binding
> prior to changing the RowFilter and it doesn't make a difference.
>
> In a test app the 1st filter takes 12 seconds, the 2nd filter takes
> 468 ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>
> I cannot find a way to debug what it's doing in my actual app. I tried
> stepping into RowFilter = "....." but nothing happens (thought maybe
> there was an event I subscribed to and forgot) and as far as I can
> tell there are no other controls bound to this DataTable.
>
> Are there any tricks out there that may help me narrow this down?
>
> Thanks for any help,
> Joe
>



Re: DefaultView.RowFilter by RobinS

RobinS
Thu Jan 25 18:15:40 CST 2007

Here's a post I just posted for someone over in
microsoft.public.languages.vb.data that explains how
to use the BindingSource to do filtering. This is version 2005;
I don't think it was available in 2003.

------------------------------------
You can create the BindingSource in code, although I
would just add one to the form and name it, then set the
properties in code. It's in the Data components. Either way,
it should work.

You bind your controls to the BindingSource, and the
BindingSource to the Data Source.

Then you can use all of the features of the Binding Source,
like Filter, Sort, etc. Any change you make to the binding source
is immediately displayed on the screen. So even if you changed
your data source, the screen updates w/o any other effort on your
part. And you can filter and sort w/o impacting the original
data source.

When you load your form:

'load myDataSet.Tables("myTable")

'set up the binding source
Dim myBindingSource As BindingSource = New BindingSource()
myBindingSource.DataSource = myDataSet.Tables("myTable")

'set up the bindings for the listview
myListView.DataSource = myBindingSource
'set whatever properties the ListView needs in order to bind it,
' using the BindingSource instead of the dataset

When you want to filter your listview:

myBindingSource.Filter = "EmployeeName = 'LazyGuy'"

It's like magic!

Robin S.
--------------------------------------------------
"RobinS" <RobinS@NoSpam.yah.none> wrote in message
news:E6udnd4odJY-2iTYnZ2dnUVZ_oupnZ2d@comcast.com...
> Are you filtering it for display on a form, like based on some
> criteria on the form? Is it databound?
>
> Are you using VB2005?
>
> If so, you can use a BindingSource in between your data and your
> bound controls, and apply the filter to that instead of to your
> datatable. I think that will be faster.
>
> Robin S.
> -----------------------
> "Joe" <jbassking@noemail.noemail> wrote in message
> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>> Hello all,
>>
>> I'm having a performance problem using the
>> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
>> "Something" this takes about 12 seconds (this isn't the issue). Next
>> if I change the filter to MyField In ('SomethingElse') it takes about
>> 1 second (still not the issue), Next I set the filter to "". This
>> takes about 5 seconds (still not the issue). Finally if I set the
>> filter back to MyField = "Something" or MyField In ('SomethingElse')
>> it takes like 30-45 seconds. This is the issue.
>>
>> My DataTable is bound to a single control but I remove the binding
>> prior to changing the RowFilter and it doesn't make a difference.
>>
>> In a test app the 1st filter takes 12 seconds, the 2nd filter takes
>> 468 ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>>
>> I cannot find a way to debug what it's doing in my actual app. I
>> tried stepping into RowFilter = "....." but nothing happens (thought
>> maybe there was an event I subscribed to and forgot) and as far as I
>> can tell there are no other controls bound to this DataTable.
>>
>> Are there any tricks out there that may help me narrow this down?
>>
>> Thanks for any help,
>> Joe
>>
>
>



Re: DefaultView.RowFilter by Joe

Joe
Thu Jan 25 18:29:38 CST 2007

Robin,

Yes this is for display purposes and I'm using 2005.

I tried using the BindingSource but it didn't help at all.

Thanks,
Joe

"RobinS" <RobinS@NoSpam.yah.none> wrote in message
news:E6udnd4odJY-2iTYnZ2dnUVZ_oupnZ2d@comcast.com...
> Are you filtering it for display on a form, like based on some
> criteria on the form? Is it databound?
>
> Are you using VB2005?
>
> If so, you can use a BindingSource in between your data and your
> bound controls, and apply the filter to that instead of to your
> datatable. I think that will be faster.
>
> Robin S.
> -----------------------
> "Joe" <jbassking@noemail.noemail> wrote in message
> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>> Hello all,
>>
>> I'm having a performance problem using the
>> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
>> "Something" this takes about 12 seconds (this isn't the issue). Next if I
>> change the filter to MyField In ('SomethingElse') it takes about 1 second
>> (still not the issue), Next I set the filter to "". This takes about 5
>> seconds (still not the issue). Finally if I set the filter back to
>> MyField = "Something" or MyField In ('SomethingElse') it takes like 30-45
>> seconds. This is the issue.
>>
>> My DataTable is bound to a single control but I remove the binding prior
>> to changing the RowFilter and it doesn't make a difference.
>>
>> In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468
>> ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>>
>> I cannot find a way to debug what it's doing in my actual app. I tried
>> stepping into RowFilter = "....." but nothing happens (thought maybe
>> there was an event I subscribed to and forgot) and as far as I can tell
>> there are no other controls bound to this DataTable.
>>
>> Are there any tricks out there that may help me narrow this down?
>>
>> Thanks for any help,
>> Joe
>>
>
>



Re: DefaultView.RowFilter by RobinS

RobinS
Thu Jan 25 19:02:04 CST 2007

You mean it didn't help with the performance, or it didn't
work or you couldn't get it to work?

Robin S.
-----------------
"Joe" <jbassking@noemail.noemail> wrote in message
news:ui8iJGOQHHA.4172@TK2MSFTNGP03.phx.gbl...
> Robin,
>
> Yes this is for display purposes and I'm using 2005.
>
> I tried using the BindingSource but it didn't help at all.
>
> Thanks,
> Joe
>
> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
> news:E6udnd4odJY-2iTYnZ2dnUVZ_oupnZ2d@comcast.com...
>> Are you filtering it for display on a form, like based on some
>> criteria on the form? Is it databound?
>>
>> Are you using VB2005?
>>
>> If so, you can use a BindingSource in between your data and your
>> bound controls, and apply the filter to that instead of to your
>> datatable. I think that will be faster.
>>
>> Robin S.
>> -----------------------
>> "Joe" <jbassking@noemail.noemail> wrote in message
>> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>>> Hello all,
>>>
>>> I'm having a performance problem using the
>>> DataTable.DefaultView.RowFilter. When setting the filter to MyField
>>> = "Something" this takes about 12 seconds (this isn't the issue).
>>> Next if I change the filter to MyField In ('SomethingElse') it takes
>>> about 1 second (still not the issue), Next I set the filter to "".
>>> This takes about 5 seconds (still not the issue). Finally if I set
>>> the filter back to MyField = "Something" or MyField In
>>> ('SomethingElse') it takes like 30-45 seconds. This is the issue.
>>>
>>> My DataTable is bound to a single control but I remove the binding
>>> prior to changing the RowFilter and it doesn't make a difference.
>>>
>>> In a test app the 1st filter takes 12 seconds, the 2nd filter takes
>>> 468 ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>>>
>>> I cannot find a way to debug what it's doing in my actual app. I
>>> tried stepping into RowFilter = "....." but nothing happens (thought
>>> maybe there was an event I subscribed to and forgot) and as far as I
>>> can tell there are no other controls bound to this DataTable.
>>>
>>> Are there any tricks out there that may help me narrow this down?
>>>
>>> Thanks for any help,
>>> Joe
>>>
>>
>>
>
>



Re: DefaultView.RowFilter by Joe

Joe
Thu Jan 25 19:05:36 CST 2007

Didn't help with the performance.

"RobinS" <RobinS@NoSpam.yah.none> wrote in message
news:47mdnZBSVZyRziTYnZ2dnUVZ_rKvnZ2d@comcast.com...
> You mean it didn't help with the performance, or it didn't
> work or you couldn't get it to work?
>
> Robin S.
> -----------------
> "Joe" <jbassking@noemail.noemail> wrote in message
> news:ui8iJGOQHHA.4172@TK2MSFTNGP03.phx.gbl...
>> Robin,
>>
>> Yes this is for display purposes and I'm using 2005.
>>
>> I tried using the BindingSource but it didn't help at all.
>>
>> Thanks,
>> Joe
>>
>> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
>> news:E6udnd4odJY-2iTYnZ2dnUVZ_oupnZ2d@comcast.com...
>>> Are you filtering it for display on a form, like based on some
>>> criteria on the form? Is it databound?
>>>
>>> Are you using VB2005?
>>>
>>> If so, you can use a BindingSource in between your data and your
>>> bound controls, and apply the filter to that instead of to your
>>> datatable. I think that will be faster.
>>>
>>> Robin S.
>>> -----------------------
>>> "Joe" <jbassking@noemail.noemail> wrote in message
>>> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>>>> Hello all,
>>>>
>>>> I'm having a performance problem using the
>>>> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
>>>> "Something" this takes about 12 seconds (this isn't the issue). Next if
>>>> I change the filter to MyField In ('SomethingElse') it takes about 1
>>>> second (still not the issue), Next I set the filter to "". This takes
>>>> about 5 seconds (still not the issue). Finally if I set the filter back
>>>> to MyField = "Something" or MyField In ('SomethingElse') it takes like
>>>> 30-45 seconds. This is the issue.
>>>>
>>>> My DataTable is bound to a single control but I remove the binding
>>>> prior to changing the RowFilter and it doesn't make a difference.
>>>>
>>>> In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468
>>>> ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>>>>
>>>> I cannot find a way to debug what it's doing in my actual app. I tried
>>>> stepping into RowFilter = "....." but nothing happens (thought maybe
>>>> there was an event I subscribed to and forgot) and as far as I can tell
>>>> there are no other controls bound to this DataTable.
>>>>
>>>> Are there any tricks out there that may help me narrow this down?
>>>>
>>>> Thanks for any help,
>>>> Joe
>>>>
>>>
>>>
>>
>>
>
>



Re: DefaultView.RowFilter by RobinS

RobinS
Thu Jan 25 20:25:28 CST 2007

Bummer. I'll ruminate on it, and if I can think of anything
else, I'll post back. Just out of curiousity, how are you filling
the datatable that you're using?

Robin S.
--------------------------------
"Joe" <jbassking@noemail.noemail> wrote in message
news:eJ6%23PaOQHHA.4484@TK2MSFTNGP02.phx.gbl...
> Didn't help with the performance.
>
> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
> news:47mdnZBSVZyRziTYnZ2dnUVZ_rKvnZ2d@comcast.com...
>> You mean it didn't help with the performance, or it didn't
>> work or you couldn't get it to work?
>>
>> Robin S.
>> -----------------
>> "Joe" <jbassking@noemail.noemail> wrote in message
>> news:ui8iJGOQHHA.4172@TK2MSFTNGP03.phx.gbl...
>>> Robin,
>>>
>>> Yes this is for display purposes and I'm using 2005.
>>>
>>> I tried using the BindingSource but it didn't help at all.
>>>
>>> Thanks,
>>> Joe
>>>
>>> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
>>> news:E6udnd4odJY-2iTYnZ2dnUVZ_oupnZ2d@comcast.com...
>>>> Are you filtering it for display on a form, like based on some
>>>> criteria on the form? Is it databound?
>>>>
>>>> Are you using VB2005?
>>>>
>>>> If so, you can use a BindingSource in between your data and your
>>>> bound controls, and apply the filter to that instead of to your
>>>> datatable. I think that will be faster.
>>>>
>>>> Robin S.
>>>> -----------------------
>>>> "Joe" <jbassking@noemail.noemail> wrote in message
>>>> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>>>>> Hello all,
>>>>>
>>>>> I'm having a performance problem using the
>>>>> DataTable.DefaultView.RowFilter. When setting the filter to
>>>>> MyField = "Something" this takes about 12 seconds (this isn't the
>>>>> issue). Next if I change the filter to MyField In
>>>>> ('SomethingElse') it takes about 1 second (still not the issue),
>>>>> Next I set the filter to "". This takes about 5 seconds (still not
>>>>> the issue). Finally if I set the filter back to MyField =
>>>>> "Something" or MyField In ('SomethingElse') it takes like 30-45
>>>>> seconds. This is the issue.
>>>>>
>>>>> My DataTable is bound to a single control but I remove the binding
>>>>> prior to changing the RowFilter and it doesn't make a difference.
>>>>>
>>>>> In a test app the 1st filter takes 12 seconds, the 2nd filter
>>>>> takes 468 ms, no filter takes 6 seconds and back to the 1st takes
>>>>> 453 ms.
>>>>>
>>>>> I cannot find a way to debug what it's doing in my actual app. I
>>>>> tried stepping into RowFilter = "....." but nothing happens
>>>>> (thought maybe there was an event I subscribed to and forgot) and
>>>>> as far as I can tell there are no other controls bound to this
>>>>> DataTable.
>>>>>
>>>>> Are there any tricks out there that may help me narrow this down?
>>>>>
>>>>> Thanks for any help,
>>>>> Joe
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: DefaultView.RowFilter by Joe

Joe
Fri Jan 26 12:21:32 CST 2007

RowFilter = "MyField = 'SomeValue'";

I actually called MS. They don't know what the reason is for this
performance issue. They're looking into it.

I'll keep this thread posted with my results.

-Joe

"RobinS" <RobinS@NoSpam.yah.none> wrote in message
news:afydnU0oNN4F-yTYnZ2dnUVZ_rKvnZ2d@comcast.com...
> Bummer. I'll ruminate on it, and if I can think of anything
> else, I'll post back. Just out of curiousity, how are you filling
> the datatable that you're using?
>
> Robin S.
> --------------------------------
> "Joe" <jbassking@noemail.noemail> wrote in message
> news:eJ6%23PaOQHHA.4484@TK2MSFTNGP02.phx.gbl...
>> Didn't help with the performance.
>>
>> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
>> news:47mdnZBSVZyRziTYnZ2dnUVZ_rKvnZ2d@comcast.com...
>>> You mean it didn't help with the performance, or it didn't
>>> work or you couldn't get it to work?
>>>
>>> Robin S.
>>> -----------------
>>> "Joe" <jbassking@noemail.noemail> wrote in message
>>> news:ui8iJGOQHHA.4172@TK2MSFTNGP03.phx.gbl...
>>>> Robin,
>>>>
>>>> Yes this is for display purposes and I'm using 2005.
>>>>
>>>> I tried using the BindingSource but it didn't help at all.
>>>>
>>>> Thanks,
>>>> Joe
>>>>
>>>> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
>>>> news:E6udnd4odJY-2iTYnZ2dnUVZ_oupnZ2d@comcast.com...
>>>>> Are you filtering it for display on a form, like based on some
>>>>> criteria on the form? Is it databound?
>>>>>
>>>>> Are you using VB2005?
>>>>>
>>>>> If so, you can use a BindingSource in between your data and your
>>>>> bound controls, and apply the filter to that instead of to your
>>>>> datatable. I think that will be faster.
>>>>>
>>>>> Robin S.
>>>>> -----------------------
>>>>> "Joe" <jbassking@noemail.noemail> wrote in message
>>>>> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>>>>>> Hello all,
>>>>>>
>>>>>> I'm having a performance problem using the
>>>>>> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
>>>>>> "Something" this takes about 12 seconds (this isn't the issue). Next
>>>>>> if I change the filter to MyField In ('SomethingElse') it takes about
>>>>>> 1 second (still not the issue), Next I set the filter to "". This
>>>>>> takes about 5 seconds (still not the issue). Finally if I set the
>>>>>> filter back to MyField = "Something" or MyField In ('SomethingElse')
>>>>>> it takes like 30-45 seconds. This is the issue.
>>>>>>
>>>>>> My DataTable is bound to a single control but I remove the binding
>>>>>> prior to changing the RowFilter and it doesn't make a difference.
>>>>>>
>>>>>> In a test app the 1st filter takes 12 seconds, the 2nd filter takes
>>>>>> 468 ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>>>>>>
>>>>>> I cannot find a way to debug what it's doing in my actual app. I
>>>>>> tried stepping into RowFilter = "....." but nothing happens (thought
>>>>>> maybe there was an event I subscribed to and forgot) and as far as I
>>>>>> can tell there are no other controls bound to this DataTable.
>>>>>>
>>>>>> Are there any tricks out there that may help me narrow this down?
>>>>>>
>>>>>> Thanks for any help,
>>>>>> Joe
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: DefaultView.RowFilter by RobinS

RobinS
Fri Jan 26 13:59:32 CST 2007

Actually, I wondered how you were filling the original
data source, if it was something about that that was
causing the issue.

Good luck; let us know what it is when/if they figure it out.

Thanks,
Robin S.
------------------------------------------------
"Joe" <jbassking@noemail.noemail> wrote in message
news:OD3cIdXQHHA.1364@TK2MSFTNGP06.phx.gbl...
> RowFilter = "MyField = 'SomeValue'";
>
> I actually called MS. They don't know what the reason is for this
> performance issue. They're looking into it.
>
> I'll keep this thread posted with my results.
>
> -Joe
>
> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
> news:afydnU0oNN4F-yTYnZ2dnUVZ_rKvnZ2d@comcast.com...
>> Bummer. I'll ruminate on it, and if I can think of anything
>> else, I'll post back. Just out of curiousity, how are you filling
>> the datatable that you're using?
>>
>> Robin S.
>> --------------------------------
>> "Joe" <jbassking@noemail.noemail> wrote in message
>> news:eJ6%23PaOQHHA.4484@TK2MSFTNGP02.phx.gbl...
>>> Didn't help with the performance.
>>>
>>> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
>>> news:47mdnZBSVZyRziTYnZ2dnUVZ_rKvnZ2d@comcast.com...
>>>> You mean it didn't help with the performance, or it didn't
>>>> work or you couldn't get it to work?
>>>>
>>>> Robin S.
>>>> -----------------
>>>> "Joe" <jbassking@noemail.noemail> wrote in message
>>>> news:ui8iJGOQHHA.4172@TK2MSFTNGP03.phx.gbl...
>>>>> Robin,
>>>>>
>>>>> Yes this is for display purposes and I'm using 2005.
>>>>>
>>>>> I tried using the BindingSource but it didn't help at all.
>>>>>
>>>>> Thanks,
>>>>> Joe
>>>>>
>>>>> "RobinS" <RobinS@NoSpam.yah.none> wrote in message
>>>>> news:E6udnd4odJY-2iTYnZ2dnUVZ_oupnZ2d@comcast.com...
>>>>>> Are you filtering it for display on a form, like based on some
>>>>>> criteria on the form? Is it databound?
>>>>>>
>>>>>> Are you using VB2005?
>>>>>>
>>>>>> If so, you can use a BindingSource in between your data and your
>>>>>> bound controls, and apply the filter to that instead of to your
>>>>>> datatable. I think that will be faster.
>>>>>>
>>>>>> Robin S.
>>>>>> -----------------------
>>>>>> "Joe" <jbassking@noemail.noemail> wrote in message
>>>>>> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>>>>>>> Hello all,
>>>>>>>
>>>>>>> I'm having a performance problem using the
>>>>>>> DataTable.DefaultView.RowFilter. When setting the filter to
>>>>>>> MyField = "Something" this takes about 12 seconds (this isn't
>>>>>>> the issue). Next if I change the filter to MyField In
>>>>>>> ('SomethingElse') it takes about 1 second (still not the issue),
>>>>>>> Next I set the filter to "". This takes about 5 seconds (still
>>>>>>> not the issue). Finally if I set the filter back to MyField =
>>>>>>> "Something" or MyField In ('SomethingElse') it takes like 30-45
>>>>>>> seconds. This is the issue.
>>>>>>>
>>>>>>> My DataTable is bound to a single control but I remove the
>>>>>>> binding prior to changing the RowFilter and it doesn't make a
>>>>>>> difference.
>>>>>>>
>>>>>>> In a test app the 1st filter takes 12 seconds, the 2nd filter
>>>>>>> takes 468 ms, no filter takes 6 seconds and back to the 1st
>>>>>>> takes 453 ms.
>>>>>>>
>>>>>>> I cannot find a way to debug what it's doing in my actual app. I
>>>>>>> tried stepping into RowFilter = "....." but nothing happens
>>>>>>> (thought maybe there was an event I subscribed to and forgot)
>>>>>>> and as far as I can tell there are no other controls bound to
>>>>>>> this DataTable.
>>>>>>>
>>>>>>> Are there any tricks out there that may help me narrow this
>>>>>>> down?
>>>>>>>
>>>>>>> Thanks for any help,
>>>>>>> Joe
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: DefaultView.RowFilter by Cor

Cor
Sun Jan 28 05:05:04 CST 2007

Joe,

Are you sure that you did not bind any other control to the default.view, if
you change it, it changes all controls or whatever you have binded this
table to.

Mostly it is easier to create a new dataview, which is only for the
datasource that you want to use.

dim dv as New DataView(DataTable)
DataView dv = new DataView(DataTable);

dv.rowfilter = etc

Cor

"Joe" <jbassking@noemail.noemail> schreef in bericht
news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
> Hello all,
>
> I'm having a performance problem using the
> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
> "Something" this takes about 12 seconds (this isn't the issue). Next if I
> change the filter to MyField In ('SomethingElse') it takes about 1 second
> (still not the issue), Next I set the filter to "". This takes about 5
> seconds (still not the issue). Finally if I set the filter back to MyField
> = "Something" or MyField In ('SomethingElse') it takes like 30-45 seconds.
> This is the issue.
>
> My DataTable is bound to a single control but I remove the binding prior
> to changing the RowFilter and it doesn't make a difference.
>
> In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468
> ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>
> I cannot find a way to debug what it's doing in my actual app. I tried
> stepping into RowFilter = "....." but nothing happens (thought maybe there
> was an event I subscribed to and forgot) and as far as I can tell there
> are no other controls bound to this DataTable.
>
> Are there any tricks out there that may help me narrow this down?
>
> Thanks for any help,
> Joe
>



Re: DefaultView.RowFilter by Joe

Joe
Sun Jan 28 11:00:52 CST 2007

Hi Cor,

Yes. My test app only has 1 control which is a DataGridView. MS has been
able to reproduce the problem.

I may end up creating a new DataView each time I need a new filter (which is
very fast) but I end up with a memory problem. It seems that once a binding
is done, not all references to it is released which causes the problem.

-Joe

"Cor Ligthert [MVP]" <notmyfirstname@planet.nl> wrote in message
news:%23S1vSvsQHHA.3592@TK2MSFTNGP06.phx.gbl...
> Joe,
>
> Are you sure that you did not bind any other control to the default.view,
> if you change it, it changes all controls or whatever you have binded this
> table to.
>
> Mostly it is easier to create a new dataview, which is only for the
> datasource that you want to use.
>
> dim dv as New DataView(DataTable)
> DataView dv = new DataView(DataTable);
>
> dv.rowfilter = etc
>
> Cor
>
> "Joe" <jbassking@noemail.noemail> schreef in bericht
> news:eCAKvoKQHHA.420@TK2MSFTNGP06.phx.gbl...
>> Hello all,
>>
>> I'm having a performance problem using the
>> DataTable.DefaultView.RowFilter. When setting the filter to MyField =
>> "Something" this takes about 12 seconds (this isn't the issue). Next if I
>> change the filter to MyField In ('SomethingElse') it takes about 1 second
>> (still not the issue), Next I set the filter to "". This takes about 5
>> seconds (still not the issue). Finally if I set the filter back to
>> MyField = "Something" or MyField In ('SomethingElse') it takes like 30-45
>> seconds. This is the issue.
>>
>> My DataTable is bound to a single control but I remove the binding prior
>> to changing the RowFilter and it doesn't make a difference.
>>
>> In a test app the 1st filter takes 12 seconds, the 2nd filter takes 468
>> ms, no filter takes 6 seconds and back to the 1st takes 453 ms.
>>
>> I cannot find a way to debug what it's doing in my actual app. I tried
>> stepping into RowFilter = "....." but nothing happens (thought maybe
>> there was an event I subscribed to and forgot) and as far as I can tell
>> there are no other controls bound to this DataTable.
>>
>> Are there any tricks out there that may help me narrow this down?
>>
>> Thanks for any help,
>> Joe
>>
>
>