Foxtable(狐表)用户栏目专家坐堂 → [求助]自定义用户表问题


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

主题:[求助]自定义用户表问题

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
[求助]自定义用户表问题  发帖心情 Post By:2017/6/20 10:48:00 [显示全部帖子]

 用户表设计了如下列:
[账号][密码][姓名][身份证号码][分组][单位名称][手机号][代理品牌]
已经实现自定义用户表,并实现正常登录。现在想根据客户选择的代理品牌,来给某个参数表的某一列加权限,
比如[代理品牌]值为A,则显示的产品参数[列1][列3][列4][列2]用“***”显示掩码,[列1][列3][列4]正常显示;
比如[代理品牌]值为B,则显示的产品参数[列2][列3][列4][列1]用“***”显示掩码,[列2][列3][列4]正常显示;
 
请教是否要在全局代码定义?然后在表属性设置drawcell设置代码?代码该怎么输入权限这块?之前的username都是定义 _username

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)可以用一个变量记录 代理品牌 的值。...  发帖心情 Post By:2017/6/20 11:07:00 [显示全部帖子]

 


可以用一个变量记录 代理品牌 的值。



在登陆按钮那里赋值 _dlpp = dr("代理品牌")



那,在drawcell事件,就可以写代码



If _dlpp = "A" AndAlso e.Col.Name = "列2" Then

e.Text = "***"

End If


这个变量是写入您示例代码中的dlpp吗?还是用“代理品牌”四个字?
_dlpp 就是引用变量吗?

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)在全局代码定义 Public _dlpp As Str...  发帖心情 Post By:2017/6/20 14:16:00 [显示全部帖子]

 感谢,问题已解决!
测试过程中,还发现几个问题,请教一下:
1、点击登录后,设计的窗口背景色会持续显示大概5s左右。(登录窗口添加了一个panel控件,用于移动窗口功能的实现,是不是这个控件导致的?这个持续的时间,估计是表全部加载导致的!是不是应该登录后,表开始不加在?在进入主界面后,点击不同页面,在加载不同的表? 对此概念还有点模糊,引用的是外部表,将外部表记载到项目里面,和直接使用sql命令加载外部表的数据,这两个有什么区别?!)

2、关闭窗口的时候,如果不点击设计的关闭按钮Forms("用户登陆").Close,而是用鼠标右键点击任务栏进行关闭,就会跳转到foxtable项目页面,这是为何?

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)1、你在点击登录以后,执行了加载全部...  发帖心情 Post By:2017/6/20 15:04:00 [显示全部帖子]


1、你在点击登录以后,执行了加载全部表数据库的代码?那些都是比较耗时的代码。
你可以把窗口设置为透明,再加载数据,就不会有背景颜色持续5s的情况。
登录后,需要时候的表,都应该加载。
添加进来的表,可以设置修改列、代码事件等。sql命令加载的,代码编写麻烦。
2、你可以在beforeClose或者afterclose事件写代码,代码就是你关闭按钮的代码。


re.
1、窗口设置透明的话,岂不是会让整个窗口背景都变淡?!看上去蛮变扭
主要是主数据用的是mssql,就是在项目里添加数据源然后添加数据表,选择加载所有数据,是不是默认加载几行,或者干脆不加载?
在使用的时候用sql加载?
有个矛盾,我虽然在添加外部数据表的时候设置了加载全部数据,但为了实现数据在打开页面不加载到表控件中,我在主窗口的afterload代码中加入了“Tables("表A").filter = False”,只有当进行数据筛选操作的时候在加载符合筛选条件的数据,是不是此时表是加载进来的?只是未显示在控件table表中?
2、我看其他帖子有老师说,关闭按钮代码还是写e.Form.close()(我之前写的是Forms("窗口名").close  【两个代码有区别吗?】),然后在窗口的beforeclose事件,写“basemainform.close”,不知道对否?是不是主窗口都要这样设置?还是向您说的,直接将关闭窗口的代码写到beforeclose或afterclose中?
这两个写关闭代码有区别吗?我看一个是关闭窗口前执行,一个是关闭窗口后执行,basemainform.close 这个是啥意思?帮助没看到此类说明
[此贴子已经被作者于2017/6/20 15:05:21编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)1、你可以在需要的时候,再加载表或数...  发帖心情 Post By:2017/6/20 15:21:00 [显示全部帖子]

 是这样,因为设计是的自定义的主窗口,完全脱离开foxtable的主窗口,所以是不是既要关闭我自己设计的主窗口,还要在beforeclose写上basemainform.close?

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)以下是引用13865161910在2017/6/20 1...  发帖心情 Post By:2017/6/21 9:17:00 [显示全部帖子]

关于动态加载表的问题!
加载外部数据源(SQL SERVER数据源)、外部数据表,表中有两列是图片列,通过表达式的方式,某列值 + ‘.jpg’  形成图片关联与远程数据库设置的图片关联,如果开始不加在表,在主窗口点击按钮执行
DataTables("资料表").LoadTop = "100 Percent"  '加载全部数据    
此处当点击按钮加载全部数据是否要按照此方法写?还是直接用下面两行代码即可?

DataTables("资料表").LoadOrder = "生产商"  '生产商列升序排序

DataTables("资料表").Load


另外此处设计的功能主要是用户在文本框填入关键字然后进行筛选,将符合条件的结果行展示在控件表中,合适的方法应该是如何?是不是也要先加载所有数据,然后才能筛选?当切换其他功能,就需要卸载表?由于表中有公式,用sql命令,是不是表达式会不起作用呢?

原先设计的是几个combobox,通过通过层级条件选择(combobox1选择生产商,combobox2下拉显示所选生产商下对应的车系,然后后面的都是textbox控件,由于设置的初始不进行筛选,导致下拉combobox控件由于没有数据加载,无法使用,遂改成textbox模糊筛选全表关键字符,然后通过筛选按钮显示,应该如何优化呢?



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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)?进入系统以后,执行代码把所有...  发帖心情 Post By:2017/6/21 13:11:00 [显示全部帖子]

主要是表比较多啊,还有关联表!全部加载,就会在登录的时候,出现有个背景页面停留5s左右

另外,我在点击资料查询的按钮 click事件设置了加载表的代码,然后在外部数据表的过滤排序中设置了[_Identify] Is Null
为何内容没有加载进来?!

外部数据表的加载设置,与项目事件中设置加载或与窗口控件设置加载条件有什么区别吗?
外部数据表如果设置条件过滤不加载数据,是不是在其他地方设置加载表,都无法将数据加载出来?
[此贴子已经被作者于2017/6/21 13:51:00编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)?你可以先关闭窗口,进入系统以...  发帖心情 Post By:2017/6/21 14:43:00 [显示全部帖子]


 

你可以先关闭窗口,进入系统以后,再加载全部数据(虽然会卡顿5s,但至少不会背景停留)

DataTables("资料表").LoadTop = "100 Percent"  '加载全部数据    
DataTables("资料表").LoadFilter = ""

DataTables("资料表").Load


没懂您意思,先关闭窗口是什么意思?

这段代码我是加载到设计的打开页面的按钮的click事件上,还是加到主窗口的afterload中?外部数据表需要全部加载数据吗?还是设置不加在或仅加载默认行?


又或者说,我应该在窗口的表控件设置sql命令加载数据?表控件不进行绑定???
[此贴子已经被作者于2017/6/21 14:46:03编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(有点色)你加载表数据的代码,可以写在登录系...  发帖心情 Post By:2017/6/21 15:24:00 [显示全部帖子]

那外部数据表 是加载全部数据呢还是默认加载?是否需要设置加载条件?我发现,如果外部数据表不加载数据的话,用代码加载好像没什么作用,我的表控件不显示数据
改为加载所有数据,然后就正常了
而我出现卡顿的原因,就是因为外部数据表比较多,所以才会在登录之后,有个短暂的卡顿
我将表控件与外部数据表进行了绑定,这个没有问题吧?!
[此贴子已经被作者于2017/6/21 15:25:07编辑过]

 回到顶部