views:

4

answers:

1

I dream of creating a control which works something like this:

 <asp:SqlDataSource
      id="dsFoo"
      runat="server"
      ConnectionString="<%$ ConnectionStrings:conn %>"
      SelectCommandType="StoredProcedure"
      SelectCommand="cmd_foo">
 </asp:SqlDataSource>

<Custom:DataViewSource
     id="dvFoo"
     runat="server"
     rowfilter="colid &gt; 10"
     datasourceid="dsFoo">
</Custom:DataViewSource>

I can accomplish the same thing in the code behind by executing cmd_foo, loading the results into a DataTable, then loading them into a DataView with a RowFilter. The goal would be to have multiple DataViews for one DataSource with whatever special filters I wish to apply to the select portion of the DataSource. I could imagine extending this to be more powerful.

I tried peaking at this and this but am a bit confused on a few points.

Currently, my main issue is being unsure where to grab the output data of the DataSource so I can stick it into a DataTable.

A: 

The code I was stuck at:

DataView dv = dsFoo.Select(DataSourceSelectArguments.Empty) as DataView;
DataTable dt = dv.ToTable()

The second line is likely unnecessary since the original goal was to turn a DataSource into a DataView.

Of course, looking up this stuff tells me that SqlDataSource already has FilterExpression...

Brian