我梦想着创建一个这样的控件:
<asp:SqlDataSource id="dsFoo" runat="server" ConnectionString="<%$ ConnectionStrings:conn %>" SelectCommandType="StoredProcedure" SelectCommand="cmd_foo"> </asp:SqlDataSource> <Custom:DataViewSource id="dvFoo" runat="server" rowfilter="colid > 10" datasourceid="dsFoo"> </Custom:DataViewSource>
我可以通过执行 cmd_foo ,将结果加载到 DataTable ,然后将它们加载到 DataView 用一个 RowFilter . 目标是拥有多个 数据视图 一对一 DataSource 使用任何特殊的过滤器,我希望应用于 数据来源 . 我可以想象将其扩展为更强大的功能。
cmd_foo
DataTable
DataView
RowFilter
数据视图
DataSource
数据来源
我试着在 this 和 this 但我有点困惑。
目前,我的主要问题是不确定从何处获取 数据来源 所以我可以把它 可计算的 .
可计算的
我的密码是:
DataView dv = dsFoo.Select(DataSourceSelectArguments.Empty) as DataView; DataTable dt = dv.ToTable()
第二行可能是不必要的,因为最初的目标是 DataSource 变成一个 DataView .
当然,查这些东西会告诉我 SqlDataSource 已经拥有 FilterExpression …
SqlDataSource
FilterExpression