C# 使用MySQL C创建递归MenuStrip#
我有下一个表节点C# 使用MySQL C创建递归MenuStrip#,c#,mysql,winforms,menustrip,C#,Mysql,Winforms,Menustrip,我有下一个表节点 1.子模块。 2.模块选项。 modoption\u id modoption\u name sub\u id 1 Nuevo Articulo 1 2 Modificar Articulo 1 3 Nuevo Proveedor 2 4 Modificar Proveedor 2 5
1.子模块。
2.模块选项。 modoption\u id modoption\u name sub\u id
1 Nuevo Articulo 1
2 Modificar Articulo 1
3 Nuevo Proveedor 2
4 Modificar Proveedor 2
5 Nueva Presentacion 3
6 Modificar Presentacion 3
7 Nueva Categoria 4
8 Modificar Categoria 4
9 Nueva Subcategoria 5
10 Modificar Subcategoria 5
11 Nuevo Pasillo 6
12 Modificar Pasillo 6
13 Nueva Compra 7
14 Modificar Compra 7
现在我想创建一个递归menustrip,类似这样的东西。
这是我的密码。
提前谢谢你
因为你叫它和这个类一样的名字。正如我提到的,数据库中的Not null stuff使用了一种不同的方法,比如将0用于没有父菜单项的菜单项(直接在菜单上)不清楚您在问什么-详细说明您尝试了什么。
1 Nuevo Articulo 1
2 Modificar Articulo 1
3 Nuevo Proveedor 2
4 Modificar Proveedor 2
5 Nueva Presentacion 3
6 Modificar Presentacion 3
7 Nueva Categoria 4
8 Modificar Categoria 4
9 Nueva Subcategoria 5
10 Modificar Subcategoria 5
11 Nuevo Pasillo 6
12 Modificar Pasillo 6
13 Nueva Compra 7
14 Modificar Compra 7
Articles Proveedores
L Nuevo Articulo L Nuevo Proveedor
L Modificar Articulo L Modificar Proveedor
L Presentaciones L Compras
L Nueva Presentacion L Nueva Compra
L Modificar Presentacion L Modificar Compra
L Categorias
L Nueva Categoria
L Modificar Categoria
L SubCategoria
L Nueva SubCategoria
L Modificar SubCategoria
L Pasillos
L Nuevo Pasillo
L Modificar Pasillo
DataSet DataSet = new DataSet();
DataSet.Tables.Add(DataTable_SubModules); // Loaded from Database
DataSet.Tables[0].TableName = "SubModules";
DataSet.Tables.Add(DataTable_ModulesOptions); // Loaded from Database
DataSet.Tables[1].TableName = "Modules_Options";
MenuStrip menuStrip = new MenuStrip();
List<ToolStripMenuItem> items = new List<ToolStripMenuItem>();
for(int a = 0; a< dataSet.Tables[0].Rows.Count;a++){
ToolStripMenuItem item = new ToolStripMenuItem();
item.Name = dataSet.Tables[0].Rows[a]["sub_name"];
item.Text = dataSet.Tables[0].Rows[a]["sub_name"];
items.Add(item);
int parent = dataSet.Tables[0].Rows[a]["subid_parent"];
if(parent == null) //this wont work btw since you cant null int, i would suggest you use 0 as no parent instead
menuStrip.Items.Add(item);
else
items[parent-1].Items.Add(item);
}
for(int a = 0; a< dataSet.Tables[1].Rows.Count;a++){
ToolStripMenuItem item = new ToolStripMenuItem();
item.Name = dataSet.Tables[1].Rows[a]["modoption_name"];
item.Text = dataSet.Tables[1].Rows[a]["modoption_name"];
int parent = dataSet.Tables[1].Rows[a][" sub_id"];
items[parent-1].Items.Add(item);
}
DataSet DataSet = new DataSet();
to
DataSet dataSet = new DataSet();