|
hier ist der code zu dem was ich geschrieben
hab,
von asp her bin ich es gewohnt so zu
programmieren.
aber irgendwie geht es sicher
einfacher.
<%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> <script runat="server"> public class Menu : Control
{
int beId; int i,d,j,k,l,m; int temp1, temp2; int ka_parent_id; int counter = 0; int intWerte; int artikelGruppe; int[] arrKaId = new int[99]; int[] arrKaParentId = new int[99]; string sql; string[,] arrMenu = new string[99,99]; public void Page_Load() { if(Request.QueryString["id"] != "" && Request.QueryString["id"] != null) {ka_parent_id = Int32.Parse(Request.QueryString["id"]);} else {ka_parent_id = 0;} if(Request.QueryString["argr"] != "" && Request.QueryString["argr"] != null) {} beId = 1;
//verbindung zur
datenbank und die kategorieen
auslesen
sql = "SELECT bezeichnung, ka_id, ka_parent_id FROM shp_kategorie WHERE be_id = "+beId+" ORDER BY ordnungs_id"; string connectionString = "server=\'xxx\'; user id=\'xxx\'; password=\'xxx\'; Database=\'xxx\'"; SqlConnection dataConn = new SqlConnection(connectionString); dataConn.Open(); DataSet ds = new DataSet("gemdb"); SqlDataAdapter dsc = new SqlDataAdapter(sql, dataConn); dsc.Fill(ds,"shp_kategorie"); dataConn.Close(); intWerte = ds.Tables[0].Rows.Count;
//arrays mit den
werten f�llen --> arrMenu = bezeichnung, arrKaId = id f�r sub,
arrKaParentId = id f�r �bergeordnete
ebene
for(m=0;m<ds.Tables[0].Rows.Count;m++) { arrMenu[m,Int32.Parse(ds.Tables[0].Rows[m]["ka_parent_id"].ToString())] = ds.Tables[0].Rows[m]["bezeichnung"].ToString(); arrKaId[m]= Int32.Parse(ds.Tables[0].Rows[m]["ka_id"].ToString()); arrKaParentId[m] = Int32.Parse(ds.Tables[0].Rows[m]["ka_parent_id"].ToString()); } Response.Write("<table border='0' width='200px'>"); varBuildtree(ka_parent_id); Response.Write("</table>"); } public void varBuildtree(int ka_parent_id) { if(ka_parent_id == 0) { for(i=0;i<intWerte;i++) { if(arrMenu[i,ka_parent_id] != "" && arrMenu[i,ka_parent_id] != null) { Response.Write("<tr><td class='standard'>"); Response.Write("<a class='menu' href='"+arrKaId[i]+"'>"); Response.Write(arrMenu[i,ka_parent_id]); Response.Write("</a>"); Response.Write("</td></tr>"); } } } else { if(Request.QueryString["action"] == "sub") { temp1=Int32.Parse(Request.QueryString["temp1"]); temp2=Int32.Parse(Request.QueryString["temp2"]); } else { for(d=0;d<intWerte;d++) { if(arrKaId[d] == ka_parent_id) {temp1=d;} if(arrKaId[d] == arrKaParentId[ka_parent_id]) {temp2=d;} } } for(j=0;j<intWerte;j++) { if(arrMenu[j,0] != "" && arrMenu[j,0] != null) { Response.Write("<tr><td class='standard'>"); if(ka_parent_id == arrKaId[j]) {Response.Write("<a class='menu' href=''>");} else {Response.Write("<a class='menu' href='"+arrKaId[j]+"'>");} Response.Write(arrMenu[j,0]); Response.Write("</a>"); Response.Write("</td></tr>"); if(j == temp1) { for(k=0;k<intWerte;k++) { if(arrMenu[k,arrKaId[temp1]] != "" && arrMenu[k,arrKaId[temp1]] != null) { Response.Write("<tr><td class='standard'> "); if(ka_parent_id == arrKaId[k]) {Response.Write("<a href='"+arrKaId[j]+"'>");} else {Response.Write("<a href='"+arrKaId[k]+"&action=""> Response.Write(arrMenu[k,arrKaId[temp1]]); Response.Write("</a>"); Response.Write("</td></tr>"); if(k == temp2) { for(l=0;l<intWerte;l++) { if(arrMenu[l,arrKaId[temp2]] != "" && arrMenu[l,arrKaId[temp2]] != null) { Response.Write("<tr><td class='standard'> "); Response.Write(arrMenu[l,arrKaId[temp2]]); Response.Write("</td></tr>"); } } } } } } } } } } } </script>
|
- [Csharp.net] men� aus db aufbauen Stadelmann Patrick
- [Csharp.net] Re: [Csharp.net] men? aus db a... Andreas Rudischhauser (N)
- Stadelmann Patrick
