WinForm (90分)三个问题,期待高手与有经验的帮忙,谢谢帮顶的朋友(比较急)
问题一:一个视图View1连接多张表,更新视图某条字段的值时同时更新了原表的记录,我只想更新视图而不牵连到原表,有什么方法可以解决?
表:A,B,C 字段:A:aa,bb,cc.B:aa,dd,ee.C:aa,ff,gg
View1:select A.aa,A.bb,A.cc,B.dd,B.ee,C.ff,C.gg From A INNER JOIN B ON A.aa=B.aa INNER JOIN C ON A.aa=C.aa WHERE A.aa='xxxxxxxxxx'
我现在想修改View1里的gg,但是修改了的话连C表的gg也一起改了,应该怎么解决?
问题二:针式打印机(lcod D5000DP)走纸太多,只按照A4走纸,并且在打印机的属性里也不能设置打印的纸张类型,设置了点确定它自己又变回原来的纸张类型.我打印的时候不是用的PrintDocument,而是用的Crytal Report,网上许多打印方面的走纸问题都是用PrintDocument的.这个问题该怎么解决?
先建一个print.xsd,上面有一些需要打印的字段,在名为CRPrint的Crytal Report上建立与print.xsd的链接.程序运行的时候将数据填充到print.xsd里面,,打印的时候就将需要打印的数据打印出来,所有的地方就没什么问题,就是不能设置纸的SIZE,下面是一点代码:
private void PrintReport(string printerName,Print oRpt)
{
PageMargins margins;
// 获取 PageMargins 结构并设置
// 报表的边距。
margins = oRpt.PrintOptions.PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
// 应用页边距。
oRpt.PrintOptions.ApplyPageMargins(margins);
// 选择打印机。
oRpt.PrintOptions.PrinterName = printerName;
// 打印报表。将 startPageN 和 endPageN
// 参数设置为 0 表示打印所有页。
oRpt.PrintToPrinter(1,false,0,0);
}
问题三:这个是登陆方面的问题.每一个用户有不同的权限,开始的时候是用户A登陆,在不退出应用程序的前提下弹出登陆窗体,再由用户B登陆,现在用户B成功登陆,可是用户B的用户权限还是A的权限.用什么方法可以使他们能够使用自己的权限?
以下是登陆窗的代码:窗体名称是Login
Login login = new Login();
if(login.ShowDialog() == DialogResult.OK)
{
Application.Run(new Main(role));//打开你指定的窗口
}
谢谢高手帮忙解决,谢谢帮我顶帖的朋友,谢谢~~~~~如果能在今天解决那就万分感谢
问题点数:90、回复次数:38Top
1 楼tangyong12(海洋之星)回复于 2006-05-10 12:24:09 得分 15
问题一:你可以建立一个临时表用来保存当前更改的信息。
问题二:我也在研究打印方面的问题,不过接触不多,帮不到你了。呵呵
问题三:你在Main这个床体的构造函数或者Form_Load里面根据传入的role来变更菜单的使用权限。如果你不退出应用程序而直接这样new可能不行吧?这样会另外打开一个主窗体了吧?除非你在这里判断登录之后直接根据权限去控制菜单!Top
2 楼Yellow198267(才高七八斗,学富五六车,改行三四次,月入一两千!)回复于 2006-05-10 12:45:18 得分 5
帮顶~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Top
3 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 13:19:49 得分 0
tangyong12(海洋之星) ( ) 信誉:100 2006-05-10 12:24:00 得分: 0
问题一:你可以建立一个临时表用来保存当前更改的信息。
问题二:我也在研究打印方面的问题,不过接触不多,帮不到你了。呵呵
问题三:你在Main这个床体的构造函数或者Form_Load里面根据传入的role来变更菜单的使用权限。如果你不退出应用程序而直接这样new可能不行吧?这样会另外打开一个主窗体了吧?除非你在这里判断登录之后直接根据权限去控制菜单!
问题一:但是我必须在另外的一张视图View2上查询到更新的View1上的数据,如果用临时表的话,应该是不可能在另外的一个窗体上来查询这个临时表吧?
问题三:我也发现这个问题,我现在把完整的代码拿出来,大家帮忙看一下.
Login login = new Login();
if(login.ShowDialog() == DialogResult.OK)
{
Application.Run(new Main(role));//打开你指定的窗口
}
现在的问题是:用用户B在不退出应用程序的前提下登陆,就根本不会运行上面的代码,
我的想法是如果用户B来登陆的话,就重新启动应用程序,但如果这样的话,整个应用程序都Exit()了,又需要手动来启动应用程序啊,怎么样才能重新启动应用程序到Login页面,但是不需要人为手动启动?
Top
4 楼Kshatriya(何以解忧,惟有杜康)回复于 2006-05-10 14:28:15 得分 0
问题三,把权限加载不放在构造函数里面就可以了Top
5 楼anthit()回复于 2006-05-10 14:59:23 得分 5
upTop
6 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 15:03:41 得分 0
TO:Kshatriya(通讯基本靠吼,交通基本靠走) ( ) 信誉:99 2006-05-10 14:28:00 得分: 0
问题三,把权限加载不放在构造函数里面就可以了
*************************************************************
能说的清楚一点吗?Top
7 楼webwait(webwei)回复于 2006-05-10 15:17:30 得分 5
markTop
8 楼tangyong12(海洋之星)回复于 2006-05-10 15:21:22 得分 10
问题三:其实就是程序里面的注销功能,不是说切换用户就一定是要退出程序的,windows xp不是有个“切换当前用户”和“注销”的选项吗?按照你的情况,你做成“注销”可能更好点。简单点的方法就是将当前窗体隐藏,然后弹出登录窗体,然后将当前窗体再关闭。Top
9 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 15:33:22 得分 0
TO:tangyong12(海洋之星) ( ) 信誉:100 2006-05-10 15:21:00 得分: 0
问题三:其实就是程序里面的注销功能,不是说切换用户就一定是要退出程序的,windows xp不是有个“切换当前用户”和“注销”的选项吗?按照你的情况,你做成“注销”可能更好点。简单点的方法就是将当前窗体隐藏,然后弹出登录窗体,然后将当前窗体再关闭。
********************************************************************
是这个样子的啊
但我这个更复杂一点
比如说:有三个窗体 1.Login,2.Main,3.ChildForm.
现在是这个样子的,从Login登陆到Main,在Main点一个按钮到ChildForm,现在又在ChildForm上点一个按钮在转到Login上.
在这样的情况之下,该怎么办????Top
10 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 16:02:11 得分 0
怎么沉下去了
自己顶一下Top
11 楼Profiteerchen()回复于 2006-05-10 16:10:46 得分 5
大哥,我也在找行打印的问题,你要是解决了也帮我传一个代码,我看看,行吗?
Profiteerchen@sohu.comTop
12 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 16:19:03 得分 0
TO:Profiteerchen() ( ) 信誉:100 2006-05-10 16:10:00 得分: 0
大哥,我也在找行打印的问题,你要是解决了也帮我传一个代码,我看看,行吗?
Profiteerchen@sohu.com
*********************************
你在找打印机的什么解决方案啊??????Top
13 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 17:41:00 得分 0
up无罪
Waitting急死人Top
14 楼weiruan007(菜鸟学技术)回复于 2006-05-10 17:47:18 得分 5
to wxplovexsm(阿拉丁神棍)
加班吧兄弟,哎Top
15 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 18:00:49 得分 0
哎呀~
又加班
我日
拿TMD钱连吃饭都不够
加TMD鸟哦
PS:
问题三已经解决.今天头昏昏的,应该休息一下了
呵呵
希望明天来的时候能够看到哪位大人帮我解决掉问题
:):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):)Top
16 楼dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!)回复于 2006-05-10 18:26:18 得分 5
帮顶Top
17 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-10 19:16:24 得分 0
谢谢帮顶的朋友~Top
18 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-11 08:49:13 得分 0
第二天了
问题还没有解决
再次期待高手Top
19 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-11 08:49:55 得分 0
为什么我提的问题每一次都要等待这么长的时间
而都不能解决?Top
20 楼whmjw(明年今日十年之后)回复于 2006-05-11 10:11:56 得分 10
第三个问题是hashTable来解决,每个不同的人,登陆后,就把前一个人的权限清掉hashtable.clear(),再填充
hashtable.add(权限功能编号,是否有权限) 后面用0 和1来代替
再到每个窗口中再写一个函数Getright()来判断
Top
21 楼whmjw(明年今日十年之后)回复于 2006-05-11 10:12:47 得分 0
现在我就是这么做的,Top
22 楼GXY2005(民工甲:杀富济贫,打土豪分田地)回复于 2006-05-11 10:54:47 得分 0
通讯基本靠吼,交通基本靠走
----------------------------
牛
Top
23 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-11 14:22:48 得分 0
TO:whmjw(明年今日十年之后) ( ) 信誉:95 2006-05-11 10:11:00 得分: 0
第三个问题是hashTable来解决,每个不同的人,登陆后,就把前一个人的权限清掉hashtable.clear(),再填充
hashtable.add(权限功能编号,是否有权限) 后面用0 和1来代替
再到每个窗口中再写一个函数Getright()来判断
****************************************
****************************************
谢谢,现在虽然还不是很明白你讲的意思,但我知道了一种方法
Top
24 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-11 17:32:40 得分 0
独自等待=====>>>>>>>>我要的结果在哪里呢?Top
25 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-12 14:32:39 得分 0
问题还没有解决
怎么就没有人进来了?Top
26 楼kaungxia(小伟)回复于 2006-05-12 15:04:45 得分 5
帮忙顶!!!!!!!!!
千万别沉底了
楼主别急,会有人帮你的.Top
27 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-13 09:11:19 得分 0
谢谢帮顶的朋友了Top
28 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-13 09:12:43 得分 0
哦~现在问题一和问题三都基本解决了
就剩问题二了
但问题三用的方法不是很理想Top
29 楼mmcwen()回复于 2006-05-13 10:48:01 得分 5
顶
wapapps@163.com
Top
30 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-13 13:22:48 得分 0
四天了
我等了四天了
还是没有结果啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Top
31 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-16 13:35:41 得分 0
有气无力了~
哎~Top
32 楼ilove8(千里|你去哪里了,我等了你很久了!)回复于 2006-05-16 13:40:56 得分 5
up一下Top
33 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-16 17:05:48 得分 0
我的天啦~~~~~~~~~~~~~~~~~`要让我等到什么时候啊~Top
34 楼xtidtwwh(从开始到现在...)回复于 2006-05-17 10:13:45 得分 5
只是只是控制主界面的一些菜单或者控件的话可以在MAINFORM中设置一个方法,在B获得权利权限后用新的权限列表来重新刷新一次菜单状态就可以了,就像A用户如果控制菜单一样的代码。Top
35 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-17 14:30:06 得分 0
专心等待问题二的答案~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
越到后来人气都没有了~
我热~!Top
36 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-18 11:10:56 得分 0
我现在才知道为什么要扣信誉分了
原来是这样的唆
我昏
高手啊
牛人啊
星星啊钻石啊什么的怎么就不回我的帖子哦
郁闷Top
37 楼guoxinwei()回复于 2006-05-18 11:24:10 得分 5
看来问题很棘手啊,我爱莫能助,友情支持一下啊……,顺便学习!Top
38 楼wxplovexsm(社会在前进,文明在倒退。悲哀!)回复于 2006-05-27 09:19:29 得分 0
算了算了
没次跑起来问问题
都得不到解决
最后还是自己蒙到脑壳搞出来
哎
现在还没的时间接萜
在等一两天来结Top




