Trouble with DataList

R

Robert Sheppard

I have multiple DataList controls on the same page and I want to bind each
of them to different datasets.

Is this possible?

I am currently using the following syntax to bind my first
dataset.

private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
string sql = "select * from table1 where id = 1";
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds, "data1");
DataList1.DataSource = ds;
DataList1.DataMember = "data1";
DataList1.DataBind();
}
}

<asp:datalist id="DataList1", runat="server" >
<itemtemplate>
<table>
<tr>
<td><asp:Label id="Label1" runat="server" text='<%#
DataBinder.Eval(Container.DataItem, "Name") %>'>Label</asp:Label></td>
<td><asp:Label id="Label2" runat="server" text='<%#
DataBinder.Eval(Container.DataItem, "Value") %>'>Label</asp:Label></td>
</tr>
</table>
</itemtemplate>
</asp:datalist>



I would like to do the following....


private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
string sql = "select Name, Value from table1 where id = 1";
conn.Open();
DataSet ds1 = new DataSet();
SqlDataAdapter da1 = new SqlDataAdapter(sql, conn);
da1.Fill(ds1, "data1");
DataList1.DataSource = ds1;
DataList1.DataMember = "data1";
DataList1.DataBind();

sql = "select City, State from table2 where id = 1";
DataSet ds2 = new DataSet();
SqlDataAdapter da2 = new SqlDataAdapter(sql, conn);
da2.Fill(ds2, "data2");
DataList2.DataSource = ds2;
DataList2.DataMember = "data2";
DataList2.DataBind();
}
}

<asp:datalist id="DataList1", runat="server" >
<itemtemplate>
<table>
<tr>
<td><asp:Label id="Label1" runat="server" text='<%#
DataBinder.Eval(Container.DataItem, "Name") %>'>Label</asp:Label></td>
<td><asp:Label id="Label2" runat="server" text='<%#
DataBinder.Eval(Container.DataItem, "Value") %>'>Label</asp:Label></td>
</tr>
</table>
</itemtemplate>
</asp:datalist>

<asp:datalist id="DataList2", runat="server" >
<itemtemplate>
<table>
<tr>
<td><asp:Label id="Label3" runat="server" text='<%#
DataBinder.Eval(Container.DataItem, "City") %>'>Label</asp:Label></td>
<td><asp:Label id="Label4" runat="server" text='<%#
DataBinder.Eval(Container.DataItem, "State") %>'>Label</asp:Label></td>
</tr>
</table>
</itemtemplate>
</asp:datalist>


The second datalist is always empty.
 
D

Darren Kopp

Does the "select City, State from table2 where id = 1" statement return
any values (are there any records in the database that match that
criteria yet?). If not, you will not have any data in the dataset.

also i don't believe you need to call conn.open(), i believe that the
data adapter handles that for you. However, I do not ever use datasets
and dataadapters so I may be wrong. If I am, make sure you call
conn.close() after you are done :D.

HTH,
Darren Kopp
http://blog.secudocs.com/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top