Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用MySQL C创建递归MenuStrip#_C#_Mysql_Winforms_Menustrip - Fatal编程技术网

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();