Hur laddar jag en treeview i C#? så här kanske:Treeview
Jag hämtar först en SQL
sedan:
<code>
private void treeViewFyllAlbum()
{
//treeView1.cl
treeView1.Nodes.Clear();
string kolumn = listBoxFyllTitlar.SelectedItem.ToString();
string SQLstring ="SELECT t_Album.CD_ID, t_Album.Album As Albumet " +
" FROM t_Album INNER JOIN t_SongTitlar " +
" ON t_Album.CD_ID = t_SongTitlar.Album" +
" WHERE t_SongTitlar.songtitel = '" + kolumn + "'";
//
da1 = new OleDbDataAdapter(SQLstring, con);
ds1 = new DataSet("frånAlbum");
try
{
con.Close();
con.Open();
da1.Fill(ds1,"frånAlbum");
con.Close();
treeView1.ImageIndex=0;
string strAlbum =ds1.Tables["frånAlbum"].Rows[0]["Albumet"].ToString();
treeView1.Nodes.Add(strAlbum);
label1.Text="Aktuell Titel: " + listBoxFyllTitlar.Text + " Album: " + strAlbum;
SQLstring ="SELECT t_SongTitlar.ArrNo, t_SongTitlar.songtitel As Song " +
" FROM t_Album INNER JOIN t_SongTitlar ON t_Album.CD_ID = t_SongTitlar.Album " +
" WHERE t_Album.Album = '" + strAlbum + "'";
da1 = new OleDbDataAdapter(SQLstring, con);
ds1 = new DataSet("frånAlbum");
con.Close();
con.Open();
da1.Fill(ds1,"frånAlbumTitel");
con.Close();
int rader = ds1.Tables["frånAlbumTitel"].Rows.Count;
nr = new String[rader];
for(int a = 0;a < rader; a++)
{
treeView1.Nodes.Add
(ds1.Tables["frånAlbumTitel"].Rows[a]["Song"].ToString());
nr[a] = ds1.Tables["frånAlbumTitel"].Rows[a]["Song"].ToString();
}
}
catch(Exception fel)
{
MessageBox.Show(fel.Message,"Databasfel");
}
}</code>
I roten skall "Albumet" finnas.
I noderna "songtitlar", men när jag gör så här så är ju "allt" i roten.
Hur bör man göra?
Jag har tittat runt, men inte hittat någonting som hjälpt mig.Sv: Treeview
<code>
private void treeViewFyllAlbum()
{
//treeView1.cl
treeView1.Nodes.Clear();
string kolumn = listBoxFyllTitlar.SelectedItem.ToString();
string SQLstring ="SELECT t_Album.CD_ID, t_Album.Album As Albumet " +
" FROM t_Album INNER JOIN t_SongTitlar " +
" ON t_Album.CD_ID = t_SongTitlar.Album" +
" WHERE t_SongTitlar.songtitel = '" + kolumn + "'";
//
da1 = new OleDbDataAdapter(SQLstring, con);
ds1 = new DataSet("frånAlbum");
try
{
con.Close();
con.Open();
da1.Fill(ds1,"frånAlbum");
con.Close();
treeView1.ImageIndex=0;
string strAlbum =ds1.Tables["frånAlbum"].Rows[0]["Albumet"].ToString();
<b>TreeNode nodeAlbum=new TreeNode(strAlbum);
treeView1.Nodes.Add(nodeAlbum); </b>
label1.Text="Aktuell Titel: " + listBoxFyllTitlar.Text + " Album: " + strAlbum;
SQLstring ="SELECT t_SongTitlar.ArrNo, t_SongTitlar.songtitel As Song " +
" FROM t_Album INNER JOIN t_SongTitlar ON t_Album.CD_ID = t_SongTitlar.Album " +
" WHERE t_Album.Album = '" + strAlbum + "'";
da1 = new OleDbDataAdapter(SQLstring, con);
ds1 = new DataSet("frånAlbum");
con.Close();
con.Open();
da1.Fill(ds1,"frånAlbumTitel");
con.Close();
int rader = ds1.Tables["frånAlbumTitel"].Rows.Count;
nr = new String[rader];
for(int a = 0;a < rader; a++)
{
<b>nodeAlbum</b>.Nodes.Add
(ds1.Tables["frånAlbumTitel"].Rows[a]["Song"].ToString());
nr[a] = ds1.Tables["frånAlbumTitel"].Rows[a]["Song"].ToString();
}
}
catch(Exception fel)
{
MessageBox.Show(fel.Message,"Databasfel");
}
}
</code>