[WinForm]控件问题。。

问题描述

问题描述:初始界面如下:M001是被勾上的。。。当我选择ComboBox里面的SysAdmin值时,并把A001和A002勾上并点保存按钮..界面如下:我再次点ComboBox里面的Master值时,M001被勾被去掉了。。这是保存按钮的代码:privatevoidbtnSave_Click(objectsender,EventArgse){userRule=newUserRule();userRule.DeleteARoleFunction(code);foreach(DataGridViewRowrowindgvwRole.Rows){if(row.Cells["选择"].Value!=null&&row.Cells["选择"].Value.ToString()=="True"){try{stringfunctionCode=row.Cells[1].Value.ToString();userRule.AddRoleFunction(functionCode,code);}catch(Exception){}}}MessageBox.Show("设置成功","提示");}

解决方案

解决方案二:
M001被勾被去掉了。。不知道要怎么改,M001才不被钩掉?
解决方案三:
我看你选择不同GridView的数据源也变了?那得看你ComboBox的SelectIndexChange的代码是怎么写的
解决方案四:
ComboBox改变时,数据库从新绑定!!!
解决方案五:
这个ComboBox的代码:privatevoidcboRole_SelectedIndexChanged(objectsender,EventArgse){//自动调整列的宽度dgvwRole.Columns[0].AutoSizeMode=System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;userRule=newUserRule();userRule.GetFunction(this.dgvwRole,this.cboRole,code);for(inti=0;i<this.dgvwRole.Rows.Count;i++){if(this.dgvwRole["Flag",i].Value.ToString()=="1"){this.dgvwRole["选择",i].Value=true;}}}

解决方案六:
这个应该在ComboBoxchanged事件里来做吧判断是哪个就把那个的选择框选中.比如时system的话就设置m001andm002不知道你的选择是什么依据来的是客户手动的呢,还是从数据库里来的如果是手动的就座变量记录要是从数据库来就简单多了
解决方案七:
从数据库里来的
解决方案八:
ComboBox改变时,数据库从新绑定!!!?绑定没有用啊,因为M001已经从数据库里删除了
解决方案九:
privatevoidbtnSave_Click(objectsender,EventArgse){userRule=newUserRule();userRule.DeleteARoleFunction(code);//点击保存的时候,根据用户名吧数据全部删除foreach(DataGridViewRowrowindgvwRole.Rows){if(row.Cells["选择"].Value!=null&&row.Cells["选择"].Value.ToString()=="True"){try{stringfunctionCode=row.Cells[1].Value.ToString();userRule.AddRoleFunction(functionCode,code);//然后再重新添加}catch(Exception){}}}MessageBox.Show("设置成功","提示");}

解决方案十:
你跟踪调试下吧看看保存的时候有问题还是绑定数据源的时候有问题保存的时候看看你勾上的Row是否保存到数据库中,你的Flag是否正确绑定的时候看看if(this.dgvwRole["Flag",i].Value.ToString()=="1")这句是否符合条件
解决方案十一:
符合条件啊,应该是保存的时候出的问题吧
解决方案十二:
唉,搞了一天了,就剩下这个BUG搞不定。。不知道什么问题
解决方案十三:
数据重新绑定的时候CheckBox肯定重置。你在数据库里写一个字段记录下CheckBox的属性,这样做会好点。要不的话你每次更改ComboBox时都会重新绑定数据。

时间: 2024-09-26 18:03:12

[WinForm]控件问题。。的相关文章

在IE中使用VS.net WinForm控件

控件 在Visual Studio .net中,类似于Applet或ActiveX控件,WinForm控件可以嵌入IE中使用.嵌入IE的Windows窗体控件不要求注册,不需用户提示即可激活.我们可以很方便地实现一些WebForm中实现起来相对麻烦的交互操作,结合.net Remoting等技术访问后台数据库,则可生成功能强大而且美观的WebForm页面. 使用该技术,需要客户端安装.net FrameWork及IE 6.0,在Windows 2003中已经自带了.net FrameWork.

c#扩展方法奇思妙用高级篇六:WinForm控件选择器

我们先看几个类图,深入认识一下我们常用的WinForm控件: 图1 ScrollableControl类图 图2 ButtonBase类图 图3 TextBoxBase类图 图4 ListControl类图 图5 Label类图 图6 其它常用 从图1中可以看出,Form与Button.Label一样,也是一个Control.

WinForm控件开发总结系列文章目录

WinForm控件开发总结(十二) 让控件处理导航键 WinForm控件开发总结(十一) 调试控件的设计时行为 WinForm控件开发总结(十) 为属性设置默认值 WinForm控件开发总结(九) 为属性提下拉式属性编辑器 WinForm控件开发总结(七) 为复杂属性的子属性提供编辑功能 WinForm控件开发总结(八) 为属性提供弹出式编辑对话框 WinForm控件开发总结(六) 控件属性类型转换器代码详解 WinForm控件开发总结(五) 为控件的复杂属性提供类型转换器 WinForm控件开

WinForm控件开发总结(十二) 让控件处理导航键

最近真的真的太忙了,以至于一个多月都没哟更新我的blog.昨天晚上,一个网上的朋友看了我的 ToolBox的文章,问我一个问题,他说如何让ToolBox控件也能响应键盘操作,也就是用Up,down按键来选 择工具箱控件里的Item,他添加了键盘事件,但是不起作用.一开始做这个控件的时候也只是演示一下控 件的制作过程,只用了很短的时间做了一个,只考虑了用鼠标选取,没有考虑键盘操作,我想要添加键盘 操作无非重载KeyDown事件,针对Up,Down做一些响应就可以了.可是添加了重载了OnKeyDow

WinForm控件开发总结(十) 为属性设置默认值

本系列的前面几篇文章讲解了如何来定义属性以及更有效的编辑属性,接下来我要讲一下控件属性的默 认值.如果我们希望自己开发的控件更易于被其它开发者使用,那么提供默认值是非常值得的. 如果你为属性设定了默认值,那么当开发者修改了属性的值,这个值在Property Explorer中将会以粗 体显示.VS为属性提供一个上下文菜单,允许程序员使用控件把值重置为默认值.当VS进行控件的串行化 时,他会判断那些值不是默认值,只有不是默认值的属性才会被串行化,所以为属性提供默认值时可以大 大减少串行化的属性数目

WinForm控件开发总结(七) 为复杂属性的子属性提供编辑功能

前面的几篇文章中,我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型转换器, 现在我们可以在属性浏览器中编辑它的值,并且它的值也被串行化的源代码里了.但是你有没有发现,在 属性浏览器里编辑这个属性的值还是不太方便.因为属性只是"10,200"这种形式的,所以,你必须按 照这种格式来修改,一旦格式错误就会引发异常,比如输入一个"10200".我们期望这个属性的每一子 属性都能够被独立的编辑就好了,这并非不能实现,而且实现还很简单. 为了在属性浏览器里

WinForm控件开发总结(五) 为控件的复杂属性提供类型转换器

上一篇文章我已经介绍了TypeConverterAttribute元数据的作用,本文将通过代码向你展示具体的实 现.在这个例子中,我要给控件添加一个复杂的属性,这个属性对这个控件没有什么功用,纯粹是为了演 示,有些牵强附会了. 现在在前一篇文章中的创建的控件代码中添加一个Scope属性: [Browsable(true)] public Scope Scope { get { return _scope; } set { _scope = value; } } 这个属性的类型是Scope类,代码

WinForm控件开发总结(四) 控件属性的串行化

前一篇文章介绍了常用的设计时Attribute.其中BrowsableAttribute,CategoryAttribute, DescriptionAttribute,DefaultPropertyAttribute,DefaultEventAttribute都是比较简单的,也是可 有可无,但是为了提供更好的用户体验这些Attribute最好不要省掉,如果你对这些Attribute还不熟悉, 可以参考我前一篇文章的描述或者查看MSDN,这里我就不在赘述了. 下来我们主要介绍一下Designer

WinForm控件开发总结(三) 认识WinForm控件常用的Attribute

在前面的文章里我们制作了一个非常简单的控件.现在我们回过头来看看这些代码透露出什么信息. 这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的.这个类定义了 一个属性TextAlignment,用来控制文本在控件中显示的位置: [ Category("Alignment"), Description("Specifies the alignment of text.") ] public ContentAlignment Text

WinForm控件开发总结(一) 开篇

我本人不是专业的控件开发人员,只是在平常的工作中,需要自己开发一些控件.在自己开发WinForm 控件的时候,没有太多可以借鉴的资料,只能盯着MSDN使劲看,还好总算有些收获.现在我会把这些经验 陆陆续续的总结出来,写成一系列方章,希望对看到的朋友有所帮助.今天我来开个头. 其实开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持.如果你有MFC或者API图形界 面的开发经验,那么学会WinForm控件可能只需要很短的时间就够了. 自己开发的WinForm控件通常有三种类型:复