Thanks Cowboy but unfortunately still no go.
I tried it exactly as you mentioned. Do i need to set something for the list
box to show the items?
Here is the method which passes out the dataset:
public DataSet ReturnDS()
{
SqlConnectionStringBuilder constring = new
SqlConnectionStringBuilder();
constring.DataSource = this.Server;
constring.InitialCatalog = this.DB;
constring.IntegratedSecurity = true;
SqlConnection con = new SqlConnection(constring.ToString());
SqlCommand com = new SqlCommand("SELECT CustomerID FROM Orders", con);
SqlDataAdapter adaptor = new SqlDataAdapter(com);
adaptor.TableMappings.Add("Table", "Orders");
con.Open();
adaptor.Fill(ds);
con.Close();
return ds;
}
Here is the code that binds it to the listbox:
Class1 myclass = new Class1();
myclass.Server = "myserver";
myclass.DB = "Northwind";
DataSet ds = myclass.ReturnDS();
ListBox1.DataSource = ds.Tables["Orders"].DefaultView;
ListBox1.SelectedIndex = 0;
ListBox1.DataTextField = "CustomerID";
// works ok. returns first field
Page.Response.Write(ds.Tables["Orders"].Rows[0][0].ToString());
while i can rturn a field from the ds ok (see response.write),
I still get no data in the list box.
Why is this so? Many thanks for your help
Ant
[quoted text, click to view] "Cowboy (Gregory A. Beamer)" wrote:
> Are you sure Tables[0] is the correct table? If you want to test this, try:
>
> ListBox1.DataSource = ds.Tables["Customers"].DefaultView;
> ListBox1.SelectedIndex = 0;
> ListBox1.DataTextField = "CustomerID";
> ListBox1.DataBind();
>
> I think that is correct for Northwind (the table name), but check it. You
> can set the index where ever you desire. I snipped this code from another
> source.
>
> If the above does not work, you do not have your tables properly named. This
> can be done on the adapter.
>
> dataAdapter.TableMappings.Add("Table", "Customers")
>
> Personally, I like strongly typing the DataSet, as you can then use
> Intellisense. It also adds a small bit of performance.
>
> --
> Gregory A. Beamer
> MVP, MCP: +I, SE, SD, DBA
>
> Subscribe to my blog
>
http://gregorybeamer.spaces.live.com/lists/feed.rss
>
> or just read it:
>
http://gregorybeamer.spaces.live.com/
>
> *************************************************
> | Think outside the box!
> |
> *************************************************
> "Ant" <Ant@discussions.microsoft.com> wrote in message
> news:108C0348-50EB-4465-802C-334EA1998664@microsoft.com...
> > Hi,
> > I'm trying to populate a list box using a dataset. The data set is tested
> > fine to have data in it but when I run the app, the listbox does not get
> > populated. Below is what I'm doing:
> >
> > Class1 myclass = new Class1();
> >
> > myclass.Server = "LAPTOP";
> > myclass.DB = "Northwind";
> >
> > DataSet ds = myclass.ReturnDS();
> >
> > ListBox1.DataSource = ds.Tables[0];
> > ListBox1.DataTextField = "CustomerID";
> > ListBox1.DataBind();
> >
> > // works ok, returns field so Dataset contains data
> > Page.Response.Write(ds.Tables[0].Rows[0][0].ToString();
> >
> >
> > Why doesn't this work?
> > Many thanks for any ideas in advance
> > Ant
> >
>
>