具有多个数据源的Gridview DataSourceID?

时间:2009-12-05 00:57:14

标签: asp.net data-binding gridview

我想显示可点击的新闻标题。但是我无法从单个GridView的两个数据源中提取数据。我正在尝试这样做DataSourceID =“SqlDataSource1,SqlDataSource2”,但这不起作用。提前谢谢。

<asp:GridView 
        ID="GridView1" runat="server" 
        AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource1, SqlDataSource2" 
        >   
       <Columns>
           <asp:HyperLinkField  
            DataTextField = "NewsHeadline" 
            DataNavigateUrlFields="NewsURL"
          />
       </Columns>
</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="
<%$ ConnectionStrings:ConnectionString1 %>"
       ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>" 
       SelectCommand="SELECT [NewsHeadline] FROM [NewsTable]">
   </asp:SqlDataSource>

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="
<%$ ConnectionStrings:ConnectionString1 %>"
       ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>" 
       SelectCommand="SELECT [NewsURL] FROM [NewsTable]">
</asp:SqlDataSource>

2 个答案:

答案 0 :(得分:2)

单个控件不能使用多个源。

您可以创建一个自定义数据源控件,该控件接受两个数据源并从两个数据源生成输出。

答案 1 :(得分:1)

为什么不使用会选择这两列的SQL查询? 像:

SELECT [NewsHeadline], [NewsURL] FROM [NewsTable] WHERE 'something'

这样你将有一个数据源,问题将得到解决:)