There is no needof 3 SQL DataSources. You can do with one also.
Below is the sample I have created using Northwind Database
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="OnRadioChanged">
<asp:ListItem Text="Customers" Value="1" Selected="true"></asp:ListItem>
<asp:ListItem Text="Employees" Value="2"></asp:ListItem>
<asp:ListItem Text="Orders" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<asp:Label ID="lblValue" runat="server" Text=""></asp:Label>
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:constr %>">
</asp:SqlDataSource>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlDataSource1.SelectCommand = "select top 10 CustomerId, ContactName from Customers";
GridView1.DataBind();
}
}
protected void OnRadioChanged(object sender, EventArgs e)
{
switch (RadioButtonList1.SelectedItem.Value)
{
case "1":
SqlDataSource1.SelectCommand = "select top 10 CustomerId, ContactName from Customers";
break;
case "2":
SqlDataSource1.SelectCommand = "select top 10 EmployeeId, FirstName from Employees";
break;
case "3":
SqlDataSource1.SelectCommand = "select top 10 OrderId, OrderDate from Orders";
break;
}
GridView1.DataBind();
}