Foxtable(狐表)用户栏目专家坐堂 → 关于菜单文件的想法


  共有13234人关注过本帖树形打印复制链接

主题:关于菜单文件的想法

帅哥哟,离线,有人找我吗?
blackzhu
  21楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/10/7 8:08:00 [只看该作者]

天问,动态生成菜单这个明白,但是调用外部菜单模板可以吗?在帮助的哪一章?

 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2012/10/7 8:18:00 [只看该作者]

仔细想想,C版的方法是可行的,没道理出错,莫非发布后的菜单不仅与system.menu有关,还与发布后的项目文件或其它文件有关?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  23楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/10/7 9:05:00 [只看该作者]

不应该呀,C版的办法就是牵涉到外部菜单文件的引用了。

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  24楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/10/7 9:18:00 [只看该作者]

仔细看看,C版的是可以的。

 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2012/10/7 9:27:00 [只看该作者]

以下是引用blackzhu在2012-10-7 9:18:00的发言:
仔细看看,C版的是可以的。

我认真测试过,不行,看19楼和20楼


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  26楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/10/7 9:29:00 [只看该作者]

但是 如果可行,还需要发布好多项目来得到这个菜单,这个太纠结了。

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/10/7 9:57:00 [只看该作者]

刚才测试了一下,是有问题。

这牵扯到Config配置文件,俺没办法了。


 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2012/10/8 9:45:00 [只看该作者]

以下是引用czy在2012-10-7 9:57:00的发言:

刚才测试了一下,是有问题。

这牵扯到Config配置文件,俺没办法了。

希望狐爸说明一下


 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2012/10/8 16:20:00 [只看该作者]

顶一下


 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2012/10/9 11:06:00 [只看该作者]

我是越看越糊涂了。

如果A、B、C、D各项目内容不同,那么肯定是要个别设计的,没有任何套路,最省事的方法是选择最相近项目的菜单文件进行少量修改。

现在,既然A、B、C、D……等n个项目的菜单是完全一样的,为何不添加3个按钮——增加项目、切换项目、删除项目——的方法实现呢?

如果A项目过期永远不用了,则在A项目不是当前项目的情况下,可点删除项目后从列表中选择A项目删除它;

如果要添加新的D项目,可点增加项目添加;

如果要从当前的C项目切换到B项目,可点切换项目。

这不是很方便吗?

当然,由于在BeforeConnectOuterDataSource事件中getconfigvalue不能用,无法设置默认项目。所以,如果A项目是默认项目,则不能删除,必须先升级(修改默认项目)。

 

下列切换项目代码运行过程中有问题,即没有真正切换,看到的还是默认项目的内容,但不知道错在哪儿,借此机会上传,请高手指点:

注:在本机、SQL server 2005、外部数据源下调试,但我刚入门狐表,对SQL server 2005不懂。

 

这是窗口设计器中“增加项目”点“确定”的代码:

Dim itemname As String= e.Form.Controls("itemName").Value '增加项目窗口输入的项目名
If itemname="" Then
    messagebox.Show("项目名称不能为空, 请重新输入! ","提示",MessageBoxButtons.OK,MessageBoxIcon.error)
    Return
End If
If Connections.Contains(itemname) Then
    messagebox.Show("该项目名称已存在, 请重新输入! ","提示",MessageBoxButtons.OK,MessageBoxIcon.error)
    Return
End If
Dim cn As connection
Dim cns As String
For Each cn In Connections
    If cn.name=sfile Then '这是当前项目数据源名称,在全局代码中指定
        cns =cn.ConnectionString
        Exit For
    End If
Next
Dim cmd As New SQLCommand
cmd.connectionname=sfile
If ProjectFile=dpath & pfile Then '这是项目开发路径和文件名
    cmd.CommandText = "CREATE DATABASE " & itemname & " ON ( NAME = " & itemname & "_dat,FILENAME = '" & dpath & itemname & ".mdf')" ’创建数据库
Else
    cmd.CommandText = "CREATE DATABASE " & itemname & " ON ( NAME = " & itemname & "_dat,FILENAME = '\\" & ipa & "\" & upath & itemname & ".mdf')" ’ipa是互联网服务器地址,upath是服务器上的数据库和升级文件所在路径
End If
cmd.ExecuteScalar
For Each dt As DataTable In DataTables
    cmd.CommandText = "select * into " & itemname & ".dbo." & dt.name & " from " & sfile & ".dbo." & dt.name
    cmd.ExecuteReader ‘创建表
Next
cns=cns.replace(sfile,itemname)
Connections.add(itemname,cns)
e.Form.Close()
Syscmd.Project.Save()

 

这是切换项目点“确定”的代码

Dim itemname As String= e.Form.Controls("itemName").Value '项目切换窗口输入的项目名
If itemname>"" And itemname<>sfile Then
    sfile=itemname
    For Each dt As DataTable In DataTables
        dt.Save()
        dt. loadfilter="" '在此先添加加载条件
        dt.ChangeConnection(sfile)
        dt.load()
    Next
End If
e.Form.Close()

 

这是删除项目的代码

Dim itemname As String= e.Form.Controls("itemName").Value '删除项目窗口输入的项目名
If itemname>"" Then
    If itemname=sfile Then
        messagebox.Show("项目名称<" & itemname & ">正在使用, 不能删除! ","提示",MessageBoxButtons.OK,MessageBoxIcon.error)
        Return
    End If
    Dim Result As DialogResult
    Result =messagebox.Show("您确认要删除项目<" & itemname & ">吗?","警告",MessageBoxButtons.YesNo,MessageBoxIcon.warning)
    If Result = DialogResult.Yes Then
        Connections.Delete(itemname)
        Dim cmd As New SQLCommand
        cmd.connectionname=sfile
        cmd.CommandText = "drop DATABASE " & itemname
        cmd.ExecuteNonQuery
        Syscmd.Project.Save()
    End If
End If
e.Form.Close()

[此贴子已经被作者于2012-10-9 13:06:55编辑过]

 回到顶部
总数 48 上一页 1 2 3 4 5 下一页