静态和动态之间的相互调用,无法互通
2实现方式1,通过动态语言获取出数据,css对其隐藏, *** 作时让CSS设为显示,即可
3实现方式2,利用js+ajax+动态语言, *** 作比较复杂,但也可以实现
希望可以帮到你
望采纳
谢谢
首先,你想看源代码的系统是mdb格式的,不能是mde格式:
1、按住Shift后,再打开系统,就可将启动项屏蔽;
2、将该数据库的AllowBypassKey 属性设为True,之后,再按1做。
或者进入工具栏里面的"启动"设置要显示的 (即把被勾去的选项重新打钩)
在安装的文件夹里。
1、打开“我的电脑 ”
2、打开安装qq软件的那个盘(这个每个人和每个人是不一样的,注意是安装qq软件的,而不是下载到的那个盘,如果从网上下载程序下载到c盘但是安装的时候装到D盘里,那就打开D盘)
3、qq安装文件夹下面有一个名字是QQ的文件夹,把它打开
4、在QQ文件夹下面找到以自己的QQ号命名的文件夹,把它打开
5、userdb 就在这个文件夹里面,一般是倒数第二个文件
如果用上述办法找不到的话,也可以尝试一下在开始菜单里单击搜索,直接去搜这个文件。
List lst=数据库中返回的数据 requestsetAttibute("lst",lst); <select> <logic:iterate id="e" name="lst"> <option value="{e}">e</option> </logic:iterate> </select>
登录验证 , 然后 将你的菜单返回 , 格式无所谓 , 只要你最后能从JS中解析出来
将菜单加到一个toolbar上
设置菜单的事件
//下面是简单的摘子目前用的的一个例子/
顶部菜单
/
Extdefine('XRSpagebarTop', {
extend: 'ExttoolbarToolbar',
dock: "top",
border: "1 0 2 0",
initComponent: function () {
var me = this;
//这里是对菜单进行解析 , 因为我从后台返回来的是 列表 , 而不是一个树 , 所以需要解析成 菜单的格式
//参数$AdmingetMainMenu() 这个是从后台饭回来的数据的一个简单包装 , 在下面我一个样本
var mainMenu = thisparseMenu($AdmingetMainMenu());
meitems = mainMenu;
thiscallParent();
} ,
//解析成菜单格式的数据
parseMenu: function (menus) {
var me = this;
if (!(menus && menuslength > 0)) return false;
//根据parentid生成树
var map = {};
var rs = [];
Exteach(menus, function (n) {
nid = "mainmenu_" + nid;
ntext = nname;
//这里是设置点击事件的 , 通过bind , 不需要设置scope
nhandler = Extbind(meonClick, me);
//下面的只是生成一个菜单的数据格式
map[nid] = n;
//如果找到父节点
if (map["mainmenu_" + nparentid]) {
var pn = map["mainmenu_" + nparentid];
if (!pnmenu) {
pnhideOnClick = false;
pnmenu = {
items: []
};
}
if (nisSeparator == "1") nxtype = "menuseparator";
pnmenuitemspush(n);
} else {
if (nisSeparator == "1") nxtype = "tbseparator";
rspush(n);
}
}, this);
return rs;
},
//这是一个点击事件
onClick: function (menu, e) {
if (!menu) return;
//可以任意设置事件
alert(menutext);
//thisfireEvent('moduleclick', menu, 'menu');
}
});
//下面是个返回的菜单数据样本 , 是个列表
"mainMenu": [
{
"$id": "14",
"id": 53,
"name": "基础信息",
"code": "",
"menutype": null,
"module": "",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_baseinfo",
"parentid": 1,
"path": "1,53",
"ix": 24,
"privilege": "6",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "35",
"id": 54,
"name": "系统代码管理",
"code": "",
"menutype": null,
"module": "XRSbaseinfocodeList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_code",
"parentid": 53,
"path": "1,53,54",
"ix": 1,
"privilege": "7",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "36",
"id": 55,
"name": null,
"code": null,
"menutype": null,
"module": null,
"moduleConfig": null,
"method": null,
"isWindow": null,
"url": null,
"iconCls": null,
"parentid": 53,
"path": "1,53,55",
"ix": 2,
"privilege": "7",
"isSeparator": 1,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "37",
"id": 57,
"name": "部门机构",
"code": "",
"menutype": null,
"module": "XRSbaseinfoorganizationList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_org",
"parentid": 53,
"path": "1,53,57",
"ix": 3,
"privilege": "8",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "38",
"id": 58,
"name": "用户",
"code": "",
"menutype": null,
"module": "XRSbaseinfouserList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_user",
"parentid": 53,
"path": "1,53,58",
"ix": 4,
"privilege": "9",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "39",
"id": 59,
"name": "角色",
"code": "",
"menutype": null,
"module": "XRSbaseinforoleList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_role",
"parentid": 53,
"path": "1,53,59",
"ix": 5,
"privilege": "10",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
}]
汗 没分啊 算了 我去帮你写 等下给你贴出来!!!!!
代码如此:
----------------------------------------分割线------------------------
using System;
using SystemCollections;
using SystemConfiguration;
using SystemData;
using SystemLinq;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIHtmlControls;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemXmlLinq;
using SystemCollectionsGeneric;
namespace WebApplication1
{
public partial class _Default : SystemWebUIPage
{
//虚拟数据泛型集合
private static List<FuCaiDan> fucaidan = new List<FuCaiDan>();
private static List<ZiCaiDan> zicaidan = new List<ZiCaiDan>();
protected void Page_Load(object sender, EventArgs e)
{
//是否重复加载
if (!IsPostBack)
{
//添加虚拟数据
FuCaiDan f = new FuCaiDan(1, "炒菜类");
FuCaiDan f1 = new FuCaiDan(2, "火锅类");
ZiCaiDan z = new ZiCaiDan("红烧茄子", 1);
ZiCaiDan z1 = new ZiCaiDan("芹菜牛肉", 1);
ZiCaiDan z2 = new ZiCaiDan("土豆丝炒肉", 1);
ZiCaiDan z3 = new ZiCaiDan("重庆火锅底", 2);
ZiCaiDan z4 = new ZiCaiDan("鸳鸯火锅底", 2);
zicaidanAdd(z);
zicaidanAdd(z1);
zicaidanAdd(z2);
zicaidanAdd(z3);
zicaidanAdd(z4);
fucaidanAdd(f);
fucaidanAdd(f1);
//循环虚拟数据父菜单
for (int i = 0; i < fucaidanCount; i++)
{
//实例化一个选项
ListItem list = new ListItem(fucaidan[i]Name, fucaidan[i]IdToString());
//添加入容器
thisDropDownList1ItemsAdd(list);
}
//设置初始化选择项
thisDropDownList1SelectedValue = fucaidan[0]IdToString();
//循环虚拟数据子菜单
for (int i = 0; i < zicaidanCount; i++)
{
//取出所有是初始化数据的子菜单
if (zicaidan[i]ShangJiId == intParse(thisDropDownList1SelectedValue))
{
//实例化一个选项
ListItem list = new ListItem(zicaidan[i]Name, zicaidan[i]ShangJiIdToString());
//添加入容器
thisDropDownList2ItemsAdd(list);
}
}
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//取得当前选中的父菜单ID
int shangjiId = intParse(thisDropDownList1SelectedValue);
//清除子菜单
thisDropDownList2ItemsClear();
//循环出所有该父菜单下的子菜单
foreach (ZiCaiDan z in zicaidan)
{
//判断是否为该父菜单下的子菜单
if (shangjiId == zShangJiId)
{
//实例化一个选项
ListItem list = new ListItem(zName, zShangJiIdToString());
//添加入容器
thisDropDownList2ItemsAdd(list);
}
}
}
}
}
以上就是关于数据库生成二级菜单全部的内容,包括:数据库生成二级菜单、Access2003中数据库启动后菜单栏不见了,如何调出、数据库格式菜单点哪里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)