问题描述
我的基本思路是两排Button然后后台用sql建立一个座位表的数据库座位表(空闲,预约,被选,暂离)每一个Button对应一行记录要求每次打开选座这个窗口的时候Load事件里去查询数据库,如果查询到当前行的空闲值为0然后Button的颜色设置为绿色,其他情况预约为1Button颜色为红色被选为1颜色为黄色暂离为1颜色为蓝色这个是要用循环实现吗,麻烦大家给我一点思路,具体load事件里的代码该怎么写有30个BUTTON这该这么弄啊想了好几天没想出来求大家指点一下
解决方案
解决方案二:
感觉是批量对Button进行操作不知道怎么办在线等回复
解决方案三:
设置每个button的tag属性,然后查询每一个button对应的状态。就比如:数据库中保存:id行号列号111212...设置button的tag(行号,列号)让后根据数据库中对应位置的行号和列号设置button的状态假设button放在一个panel中,把数据库中的内容查询出来放在一个dictionary中,Dictionary<string,string>dic=newDictionary<string,string>();//key:行号,列号value:button状态foreach(Buttonbtninpanel.Controls){if(dic.Contains(btn.Tag.ToString())){//设置button状态}}
解决方案四:
设置背景,动态添加button
解决方案五:
应该不是前面有多少个button,而是你数据库中多少条记录,应该是先读取数据库中数据到一个list中(你肯定不会只有一个属性),然后根据list的count来初始化button,然后添加到前台的容器中,每个button用tag来绑定,大概思路应该是这样的
解决方案六:
应该不是前面有多少个button,而是你数据库中多少条记录,应该是先读取数据库中数据到一个list中(你肯定不会只有一个属性),然后根据list的count来初始化button,然后添加到前台的容器中,每个button用tag来绑定,大概思路应该是这样的
解决方案七:
引用4楼hjq624779687的回复:
应该不是前面有多少个button,而是你数据库中多少条记录,应该是先读取数据库中数据到一个list中(你肯定不会只有一个属性),然后根据list的count来初始化button,然后添加到前台的容器中,每个button用tag来绑定,大概思路应该是这样的
数据库中记录读出来了之后呢,具体的循坏怎么实现
解决方案八:
解决方案九:
一个ListView搞定的事,干嘛用Button
解决方案十:
1获取你需要的数据。(你能得到有多少排桌位,每一排多少个桌位)2定义一个panel控件来放所有的桌位。3遍历排,动态往panel控件中加载子控件panel,设置控件属性,如:dock=top、height=404每一排遍历桌位,动态往每一排panel中加载子空间button,设置控件属性,如:width=50、margin=5、dock=left,最重要的是你需要为每个button控件的tag赋值,你的桌位对象,或者桌位在数据库中的id都行,以保证你的控件明确操作的是哪一个座位,接下来就是给所有button加上点击事件。如:voidclick123(objectsender,xxxxxevnetargs)。事件触发会给你一个sender,这个sender表示谁触发了事件。Buttonbtn=senderasButton,你就得到了触发事件的button,前面已经将所有button的tag赋值了,你可以获取到这个tag,然后“as桌位”进行操作了。