1 2018.9.26
2 --往GridControl中添加绑定数据
3 // 房间费用
4 DataTable dtRoomInfo = new DataTable();
5 dtRoomInfo.Columns.Add("v_name", Type.GetType("System.String"));
6 dtRoomInfo.Columns.Add("t_kt_time", Type.GetType("System.String"));
7 dtRoomInfo.Columns.Add("v_ktsc", Type.GetType("System.String"));
8 dtRoomInfo.Columns.Add("v_jfgz_name", Type.GetType("System.String"));
9 dtRoomInfo.Columns.Add("f_room_money", Type.GetType("System.String"));
10
11 DataRow rowRoomInfo = dtRoomInfo.NewRow();
12 rowRoomInfo["v_name"] = ddModel.v_czzl_name;
13 rowRoomInfo["t_kt_time"] = ddModel.t_kaitai_time.ToString("yyyy-MM-dd HH:mm");
14 decimal hour = decimal.Parse((ddModel.i_jfsc * 1.0 / (60 * 60)).ToString());
15 rowRoomInfo["v_ktsc"] = ((int)hour).ToString() + "小时" + ((hour - (int)hour) * 60).ToString("0") + "分钟";
16 rowRoomInfo["v_jfgz_name"] = ddModel.v_jfgz_name;
17 rowRoomInfo["f_room_money"] = ddModel.f_room_money.ToString();
18 dtRoomInfo.Rows.Add(rowRoomInfo);
19 this.gridControlRoomInfo.DataSource = dtRoomInfo;
20
21 //预付款
22 DataTable dtYFMoney = new DataTable();
23 dtYFMoney.Columns.Add("v_fkfs", Type.GetType("System.String"));
24 dtYFMoney.Columns.Add("t_time", Type.GetType("System.String"));
25 dtYFMoney.Columns.Add("f_yf_money", Type.GetType("System.String"));
26 dtYFMoney.Columns.Add("v_operation_name", Type.GetType("System.String"));
27 dtYFMoney.Columns.Add("v_mark", Type.GetType("System.String"));
28 DataRow rowYFMoney = dtYFMoney.NewRow();
29 //支付类型
30 switch (ddModel.i_yj_payment_type)
31 {
32 case 0:
33 rowYFMoney["v_fkfs"] = "现金";
34 break;
35 case 1:
36 rowYFMoney["v_fkfs"] = "银行卡";
37 break;
38 case 2:
39 rowYFMoney["v_fkfs"] = "微信";
40 break;
41 case 3:
42 rowYFMoney["v_fkfs"] = "支付宝";
43 break;
44 default:
45 break;
46 }
47 rowYFMoney["t_time"] = ddModel.t_kaitai_time.ToString("yyyy-MM-dd HH:mm");
48 rowYFMoney["f_yf_money"] = ddModel.f_yajin_money.ToString();
49 rowYFMoney["v_operation_name"] =ddModel.v_operator_name;
50 rowYFMoney["v_mark"] =ddModel.v_mark;
51 dtYFMoney.Rows.Add(rowYFMoney);
52 this.gridControlYFMoney.DataSource = dtYFMoney;
53 ------------------------------------------------------------------------------------------------------------
54 2018.10.15:周一
55
56 -- 返回前5个数据
57 SELECT TOP 5 *
58 FROM Student;
59
60 -- 返回前50%的数据
61 SELECT TOP 50 PERCENT *
62 FROM Student;
63
64 -- 以"C"或"P"开头
65 SELECT *
66 FROM Student
67 WHERE Subject LIKE '[CP]%';
68
69 -- 不以"C"或"P"开头
70 SELECT *
71 FROM Student
72 -- WHERE Subject LIKE '[^CP]%';
73 -- WHERE Subject LIKE '[!CP]%'; //不行
74 WHERE Subject NOT LIKE '[CP]%';
75
76 -- 以"A-D"开头
77 SELECT *
78 FROM Student
79 WHERE Subject LIKE '[A-D]%';
80
81 --选择科目是java和c#的所有人
82 SELECT *
83 FROM Student
84 WHERE Subject IN ('Java','C#');
85 -- WHERE Subject NOT IN ('Java','C#');
86
87 --选择范围之间
88 SELECT *
89 FROM Student
90 WHERE StuAge BETWEEN 22 AND 24;
91 -- WHERE StuAge NOT BETWEEN 22 AND 24;
92
93 SELECT *
94 FROM Student
95 WHERE (StuAge BETWEEN 22 AND 24) AND Subject NOT IN('Java');
96
97 SELECT *
98 FROM Student
99 WHERE StuName BETWEEN '曹操' AND '关羽'
100 ORDER BY StuName;
101
102 --若有日期的话
103 --SELECT * FROM Student WHERE Date BETWEEN #07/04/1996# AND #07/09/1996#;
104
105 -- 连接
106 -- 内
107 SELECT *
108 FROM Student INNER JOIN UserLogin
109 ON Student.StuName=UserLogin.UserName;
110 -- 左外
111 SELECT *
112 FROM Student LEFT JOIN UserLogin
113 ON Student.StuName=UserLogin.UserName;
114 -- 右外
115 SELECT *
116 FROM Student RIGHT JOIN UserLogin
117 ON Student.StuName=UserLogin.UserName;
118 -- 自然
119 SELECT *
120 FROM Student FULL JOIN UserLogin
121 ON Student.StuName=UserLogin.UserName;
122
123 -- 自连接
124 SELECT S.StuName AS NAME1,U.UserName AS NAME2
125 FROM Student S,UserLogin U
126 WHERE S.ID =U.ID;
127
128 --组合并去重复
129 SELECT StuName AS NAME
130 FROM Student
131 UNION
132 SELECT UserName
133 FROM UserLogin
134 ORDER BY StuName;
135
136 --组合但未去重复
137 SELECT StuName AS NAME
138 FROM Student
139 UNION ALL
140 SELECT UserName
141 FROM UserLogin
142 ORDER BY StuName;
143
144 --复制表中的数据到另一个新建表
145 SELECT *
146 INTO Student1015
147 FROM Student;
148
149 -- 复制到另一个数据库//貌似不可行
150 SELECT *
151 INTO Student181015 IN 'Nwind.mdb'
152 FROM Student;
153
154 --只复制一些列到新表
155 SELECT StuName,StuAge
156 INTO Student1015_1
157 FROM Student;
158
159 --复制多个表中信息插入新表
160 SELECT UserLogin.ID,Student.StuName,Student.StuAge
161 INTO Student1015_2
162 FROM Student INNER JOIN UserLogin
163 ON Student.StuName=UserLogin.UserName
164 ORDER BY UserLogin.ID;
165
166 --建一个空表,查询返回时无返回值
167 SELECT *
168 INTO newtable
169 FROM Student
170 WHERE 1=0;
171
172 --把指定列插入另一个表的指定列
173 INSERT INTO Student1015_2(ID,StuName,StuAge)
174 SELECT TOP 3 Student.ID,Student.Subject,Student.StuAge
175 FROM Student
176 WHERE Student.Subject='c#';
177
178 --删除表
179 DROP TABLE Student1015_2;
180 --只删除表中数据
181 TRUNCATE TABLE Student1015_2;
182
183 --添加列
184 ALTER TABLE Student1015_1
185 ADD STU15 DATE;
186 --删除列
187 ALTER TABLE Student1015_1
188 DROP COLUMN STU15;
189 --更改列
190 ALTER TABLE Student1015_1
191 ALTER COLUMN STU15 DATETIME;
192
193 --创建视图
194 GO
195 CREATE VIEW [MYSTUDENT] AS
196 SELECT ID,StuName
197 FROM Student1015
198 WHERE StuAge=24;
199 GO
200
201 GO
202 CREATE VIEW [DYMYSTUDENT] AS
203 SELECT ID,StuName
204 FROM Student1015
205 WHERE StuAge>(SELECT AVG(StuAge) FROM Student1015);
206 GO
207 --查询视图
208 GO
209 SELECT *
210 FROM [MYSTUDENT]
211 GO
212 --更新视图//貌似不行
213 GO
214 CREATE OR REPLACE VIEW [MYSTUDENT] AS
215 SELECT ID,StuName
216 FROM Student1015
217 WHERE StuAge=23;
218 GO
219 --删除视图
220 DROP VIEW [MYSTUDENT];
221
222 --查询时间
223 SELECT *
224 FROM Student1015_1
225 WHERE STU15='2018-10-15';
226 ----------------------------------------------------------------------------------------------------------------
227 2018.10.16:周二
228 --进阶
229
230 --别名
231 SELECT StuName,StuNum+','+StuClass+','+StuGender+','+StuPhone AS 信息
232 FROM Student;
233
234 --删除主键约束
235 ALTER TABLE Student DROP CONSTRAINT PK_Student;
236
237 --创建表并添加唯一性约束
238 CREATE TABLE Persons(
239 P_Id int NOT NULL,
240 LastName varchar(255) NOT NULL,
241 FirstName varchar(255),
242 Address varchar(255),
243 City varchar(255),
244 CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
245 );
246 --如果表已被创建添加唯一性约束
247 ALTER TABLE Student
248 ADD UNIQUE (ID);
249 --如果需要命名约束
250 ALTER TABLE Student
251 ADD CONSTRAINT uc_Student UNIQUE (ID,StuName)
252 --删除这个约束
253 ALTER TABLE Student
254 DROP CONSTRAINT uc_Student;
255
256 --主键约束
257 CREATE TABLE Person(
258 P_Id int NOT NULL,
259 LastName varchar(255) NOT NULL,
260 FirstName varchar(255),
261 Address varchar(255),
262 City varchar(255),
263 CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
264 );
265 --在上面的实例中,只有一个主键 PRIMARY KEY(pk_PersonID)。
266 --然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。
267 --如果表已创建
268 ALTER TABLE Person
269 ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName);
270 --删除约束
271 ALTER TABLE Person
272 DROP CONSTRAINT pk_PersonID;
273
274 --外键约束
275 CREATE TABLE Orders(
276 O_Id int NOT NULL PRIMARY KEY,
277 OrderNo int NOT NULL,
278 P_Id int FOREIGN KEY REFERENCES Person(P_Id)
279 );
280
281 --如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
282 CREATE TABLE Orders1(
283 O_Id int NOT NULL,
284 OrderNo int NOT NULL,
285 P_Id int,
286 PRIMARY KEY (O_Id),
287 CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
288 REFERENCES Person(P_Id)
289 );
290
291 -- 当表已被创建时
292 ALTER TABLE Orders
293 ADD FOREIGN KEY (P_Id)
294 REFERENCES Persons(P_Id)
295 -- 如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
296 ALTER TABLE Orders
297 ADD CONSTRAINT fk_PerOrders
298 FOREIGN KEY (P_Id)
299 REFERENCES Persons(P_Id)
300
301 -- 删除约束
302 ALTER TABLE Orders
303 DROP CONSTRAINT fk_PerOrders
304
305 -- 默认约束
306
307 -- 下面的 SQL 在表创建时在 "City" 列上创建 DEFAULT 约束:
308 CREATE TABLE Persons1016_1(
309 P_Id int NOT NULL,
310 LastName varchar(255) NOT NULL,
311 FirstName varchar(255),
312 Address varchar(255),
313 City varchar(255) DEFAULT 'Sandnes'
314 )
315 -- 通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
316 CREATE TABLE Orders1016_2(
317 O_Id int NOT NULL,
318 OrderNo int NOT NULL,
319 P_Id int,
320 OrderDate date DEFAULT GETDATE()
321 )
322
323 --当表已被创建时,如需在 "City" 列创建 DEFAULT 约束
324 ALTER TABLE Persons
325 ADD CONSTRAINT DF_Persons_City DEFAULT('SANDNES') FOR City
326 --Persons 为表名
327 --City 为列名
328 --DF_Persons_City 为我们创建的默认约束的名称 约束名称一般为:约束类型简称_表名_列名
329
330 --删除
331 ALTER TABLE Persons1016_1
332 ALTER COLUMN City DROP DEFAULT;
333
334 --having
335 SELECT ID,StuName,StuClass,StuPhone,StuAge,SUM(ID+StuAge) AS HE
336 FROM Student
337 GROUP BY ID ,StuName,StuClass,StuPhone,StuAge
338 HAVING StuAge>22;
339
2018.10.23-24:周二 周三
// 复制设置
private void tzxButtonExCopy_Click(object sender, EventArgs e)
{
if (this.currentSelectedCzzlModel==null)
{
MessageBoxFunction.showInfoMessageBox("请选择正确的餐桌进行复制!");
return;
}
// 弹出选择桌台页面
SelectTableListForm formSelectTableList = new SelectTableListForm();
formSelectTableList.ShowDialog();
//获取到所选择的桌子
selectCzzlList=formSelectTableList.SelectedTableInfoList;
//MessageBox.Show(selectCzzlList.Count.ToString());
if (formSelectTableList.DialogResult != DialogResult.OK)
{
return;
}
if (selectCzzlList == null || selectCzzlList.Count == 0)
{
return;
}
//把设置复制到所选择的餐桌
foreach (cy_jczl_czzl_lb item in selectCzzlList)
{
if (this.currentSelectedCzzlModel.pk == item.pk)
{
continue;
}
//对某些餐桌上已有设置的菜品进行清空
List<cy_jczl_czzl_ktsp> deleteKtspList=TableProfileManager.Instance.getKtspList(item.v_no);
foreach (cy_jczl_czzl_ktsp deleteKtspModel in deleteKtspList)
{
TableProfileManager.Instance.ktspDelete(deleteKtspModel.pk);
}
//餐桌资料的一些设置进行复制
item.i_cwf_type= this.currentSelectedCzzlModel.i_cwf_type;
if (item.i_cwf_type == 0)
{
item.f_cwf_cz_money = this.currentSelectedCzzlModel.f_cwf_cz_money;
}
else if (item.i_cwf_type == 1)
{
item.f_cwf_cz_money = this.currentSelectedCzzlModel.f_cwf_cz_money;
item.f_cwf_people_money = 0;
}
else if (item.i_cwf_type == 2)
{
item.f_cwf_people_money = this.currentSelectedCzzlModel.f_cwf_people_money;
item.f_cwf_cz_money = 0;
}
else
{
return;
}
item.i_ktcd = this.currentSelectedCzzlModel.i_ktcd;
item.i_ktsp = this.currentSelectedCzzlModel.i_ktsp;
TableProfileManager.Instance.CzzlUpdate(item);
//餐桌所选的开台菜品进行复制
List<cy_jczl_czzl_ktsp> currentKtspList = TableProfileManager.Instance.getKtspList(this.currentSelectedCzzlModel.v_no);
if (currentKtspList == null || currentKtspList.Count == 0)
{
return;
}
foreach (cy_jczl_czzl_ktsp currentKtspModel in currentKtspList)
{
cy_jczl_czzl_ktsp copyKtspModel = new cy_jczl_czzl_ktsp();
copyKtspModel.f_amount = currentKtspModel.f_amount;
copyKtspModel.f_price = currentKtspModel.f_price;
copyKtspModel.f_total_money = currentKtspModel.f_total_money;
copyKtspModel.i_dalei_pk = currentKtspModel.i_dalei_pk;
copyKtspModel.i_czzl_pk = item.pk;
copyKtspModel.i_delete = currentKtspModel.i_delete;
copyKtspModel.i_goods_pk = currentKtspModel.i_goods_pk;
copyKtspModel.i_status = currentKtspModel.i_status;
copyKtspModel.i_operator_pk = item.i_operator_pk;
copyKtspModel.i_xiaolei_pk = currentKtspModel.i_xiaolei_pk;
copyKtspModel.t_create_time = item.t_create_time;
copyKtspModel.v_czzl_no = item.v_no;
copyKtspModel.v_dalei_name = currentKtspModel.v_dalei_name;
copyKtspModel.v_danwei_name = currentKtspModel.v_danwei_name;
copyKtspModel.v_goods_name = currentKtspModel.v_goods_name;
copyKtspModel.v_goods_no = currentKtspModel.v_goods_no;
copyKtspModel.v_mark = currentKtspModel.v_mark;
copyKtspModel.v_specs = currentKtspModel.v_specs;
copyKtspModel.v_xiaolei_name = currentKtspModel.v_xiaolei_name;
TableProfileManager.Instance.ktspAdd(copyKtspModel);
}
}
MessageBoxFunction.showInfoMessageBox("批量添加成功!");
base.Close();
return;
}
1 2018.10.27 29-30:周二
2 1.设置
3 public partial class CustomShortcutKeyForm : Form
4 {
5 // 键入的值
6 private string strKey = null;
7 public CustomShortcutKeyForm()
8 {
9 InitializeComponent();
10 }
11 private void CustomShortcutKeyForm_Load(object sender, EventArgs e)
12 {
13 //加载列表
14 this.loadCustomShortcutKey();
15 }
16
17 // 加载列表
18 private void loadCustomShortcutKey()
19 {
20 this.dataGridViewShortcutKey.Rows.Clear();
21
22 List<cy_kjjsz> kjjszList = ShortCutKeyManager.Instance.getAllKjjszModelList();
23 if (kjjszList == null || kjjszList.Count == 0)
24 {
25 return;
26 }
27
28 int rowIndex = 0;
29 foreach (cy_kjjsz model in kjjszList)
30 {
31 rowIndex = this.dataGridViewShortcutKey.Rows.Add();
32
33 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["index"].Value = string.Format("{0}", rowIndex + 1);
34 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["functionName"].Value = string.Format("{0:D2}", model.v_name);
35 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["keys"].Value = model.v_kjj;
36 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["gnmk"].Value = model.v_gnmk_no;
37 }
38
39 //if (this.currentSelectedIndex < this.dataGridViewShortcutKey.Rows.Count)
40 //{
41 // this.dataGridViewShortcutKey.CurrentCell = this.dataGridViewShortcutKey.Rows[this.currentSelectedIndex].Cells[0];
42 //}
43 }
44
45 // 保存
46 private void tzxRoundedButtonOK_Click(object sender, EventArgs e)
47 {
48 int updataNumber=0;
49 ArrayList keysArrayList =new ArrayList();
50 foreach (DataGridViewRow dr in this.dataGridViewShortcutKey.Rows)
51 {
52 //修改的快捷键更新数据库
53 cy_kjjsz keysModel = ShortCutKeyManager.Instance.getkjjszModelByGnmkNo(dr.Cells["gnmk"].Value.ToString());
54 if(keysModel==null)
55 {
56 return;
57 }
58 if (keysModel.v_kjj != dr.Cells["keys"].Value.ToString())
59 {
60 keysModel.v_kjj = dr.Cells["keys"].Value.ToString();
61 bool flag = ShortCutKeyManager.Instance.kjjszUpdate(keysModel);
62 if(flag==true)
63 {
64 updataNumber++;
65 }
66 }
67 }
68 //Program.m_mainFormChineseFoodOnPC.loadToolStripShortCutKeys();
69 if (updataNumber > 0)
70 {
71 MessageBoxFunction.showInfoMessageBox("快捷键已修改,重启后方可生效!");
72 }
73
74 }
75
76 // 重置初始值
77 private void tzxRoundedRecover_Click(object sender, EventArgs e)
78 {
79 // 重置数据
80 this.kjjStartData();
81 }
82 // 初始化数据
83 private void kjjStartData()
84 {
85 //删除原来的设置
86 List<cy_kjjsz> kjjszModelList=ShortCutKeyManager.Instance.getAllKjjszModelList();
87 //如果不为空,则删除原来的设置
88 if (kjjszModelList != null)
89 {
90 foreach (cy_kjjsz kjjszModel in kjjszModelList)
91 {
92 ShortCutKeyManager.Instance.kjjszDelete(kjjszModel.pk);
93 }
94 }
95 // 如果为空,则将字典中的数据加入
96 Dictionary<string, string> dicAllToolStripShortCutKeys = ShortCutKeysToolStripManager.getAllToolStripShortCutKeysDictionary();
97 if (dicAllToolStripShortCutKeys == null || dicAllToolStripShortCutKeys.Count == 0)
98 {
99 return;
100 }
101 cy_kjjsz kjjszMode = null;
102 foreach (string strDicShortCutKeys in dicAllToolStripShortCutKeys.Keys)
103 {
104 kjjszMode = new cy_kjjsz();
105 kjjszMode.v_gnmk_no = strDicShortCutKeys;
106 kjjszMode.i_operator_pk=LoginManager.Instance.getLoginerEmployeePK();
107 kjjszMode.v_operator_name = LoginManager.Instance.getLoginerEmployeeName();
108 kjjszMode.v_mac_address=GetSystemInfo.GetMacAddress();
109 kjjszMode.v_kjj = ShortCutKeysToolStripManager.getToolStripShortCutKeysByToolStripButtonName(strDicShortCutKeys);
110 switch(strDicShortCutKeys)
111 {
112 case "2-1217,toolStripButtonStartTable":
113 kjjszMode.v_name="开台";
114 break;
115 case "2-1218,toolStripButtonChangeTable":
116 kjjszMode.v_name="转台";
117 break;
118 case "2-1216,toolStripButtonCancelTable":
119 kjjszMode.v_name="消台";
120 break;
121 case "2-1215,ToolStripMenuItemSetUpTable":
122 kjjszMode.v_name="搭台";
123 break;
124 case "2-1214,ToolStripMenuItemCutTable":
125 kjjszMode.v_name="拆台";
126 break;
127 case "2-1213,ToolStripMenuItemCombineTable":
128 kjjszMode.v_name="并台";
129 break;
130 case "2-1212,ToolStripMenuItemAddTable":
131 kjjszMode.v_name="加台";
132 break;
133 case "2-1211,ToolStripMenuItemModifyTableInfo":
134 kjjszMode.v_name="修改餐桌信息";
135 break;
136 case "2-1210,toolStripButtonOrderDishes":
137 kjjszMode.v_name="点菜";
138 break;
139 case "2-1209,toolStripButtonChangeDishes":
140 kjjszMode.v_name="换菜";
141 break;
142 case "2-1208,ToolStripMenuItemPushFood":
143 kjjszMode.v_name="催菜";
144 break;
145 case "2-1201,ToolStripMenuItemReturnDishes":
146 kjjszMode.v_name="退菜";
147 break;
148 case "2-1207,ToolStripMenuItemSuspend":
149 kjjszMode.v_name="挂起";
150 break;
151 case "2-1206,ToolStripMenuItemRouse":
152 kjjszMode.v_name="叫起";
153 break;
154 case "2-1601,toolStripButtonMemberSendCard":
155 kjjszMode.v_name="发卡";
156 break;
157 case "2-1602,toolStripButtonMemberCharge":
158 kjjszMode.v_name="充值";
159 break;
160 case "2-1701,toolStripButtonPrintTotalBills":
161 kjjszMode.v_name="打印总单";
162 break;
163 case "2-1702,toolStripButtonPreprintBills":
164 kjjszMode.v_name="预打账单";
165 break;
166 case "2-1703,toolStripButtonPrintKitchenOrder":
167 kjjszMode.v_name="补打厨打单";
168 break;
169 case "2-1400,toolStripButtonCheckOut":
170 kjjszMode.v_name="结账";
171 break;
172 case "2-1407,toolStripButtonAntiSettlement":
173 kjjszMode.v_name="反结账";
174 break;
175 case "2-1300,toolStripButtonShiftExchange":
176 kjjszMode.v_name="交班";
177 break;
178 case "2-1101,toolStripButtonLogoutSystem":
179 kjjszMode.v_name="注销";
180 break;
181 case "2-1102,toolStripButtonCloseSystem":
182 kjjszMode.v_name="退出系统";
183 break;
184 default:
185 break;
186 }
187 ShortCutKeyManager.Instance.kjjszAdd(kjjszMode);
188 }
189 MessageBoxFunction.showInfoMessageBox("快捷键已重置,重启后方可生效!");
190 }
191
192 //单元格编辑停止时判断输入的值
193 private void dataGridViewShortcutKey_CellEndEdit(object sender, DataGridViewCellEventArgs e)
194 {
195 if (strKey==null)
196 {
197 strKey = "";
198 }
199 this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = strKey;
200 ////是否输入汉字
201 //if (this.dataGridViewShortcutKey.CurrentCell.ColumnIndex == 2)
202 //{
203 // string str = this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
204 // if (Regex.IsMatch(str, @"[\u4E00-\u9FA5]+$"))
205 // {
206 // Modules.MessageBoxFunction.showInfoMessageBox("不能输入汉字");
207 // this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
208 // strKey = null;
209 // return;
210 // }
211 //}
212
213 //输入是否重复
214 ArrayList keysArrayList =new ArrayList();
215 foreach (DataGridViewRow dr in this.dataGridViewShortcutKey.Rows)
216 {
217 //所输入的快捷键是否重复
218 for (int i = 0; i < keysArrayList.Count; i++)
219 {
220 if (dr.Cells["keys"].Value.ToString() == keysArrayList[i].ToString() && dr.Cells["keys"].Value.ToString() != "")
221 {
222 MessageBoxFunction.showInfoMessageBox("快捷键不能设置重复!请修改。");
223 this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
224 strKey = null;
225 return;
226 }
227 }
228 keysArrayList.Add(dr.Cells["keys"].Value.ToString());
229 strKey = null;
230 }
231 }
232
233 //键盘键入事件
234 private void CustomShortcutKeyForm_KeyDown(object sender, KeyEventArgs e)
235 {
236 string s = e.KeyValue.ToString();
237 if (e.KeyValue >= 65 && e.KeyValue <= 90 || e.KeyValue >= 112 && e.KeyValue <= 135)
238 {
239 strKey = Enum.GetName(typeof(Keys), e.KeyValue);
240 }
241 else
242 {
243 switch (e.KeyCode)
244 {
245 case Keys.Decimal:
246 strKey = ".";
247 break;
248 case Keys.Subtract:
249 strKey = "-";
250 break;
251 case Keys.Add:
252 strKey = "+";
253 break;
254 case Keys.OemBackslash: //斜杠
255 strKey = "/";
256 break;
257 case Keys.Multiply: //乘号
258 strKey = "*";
259 break;
260 case Keys.Divide: //除号
261 strKey = "/";
262 break;
263 case Keys.OemOpenBrackets://左括号
264 strKey = "[";
265 break;
266 case Keys.Oem6: //右括号
267 strKey = "]";
268 break;
269 case Keys.Oem1: //分号
270 strKey = ";";
271 break;
272 case Keys.Oem7: //引号
273 strKey = "'";
274 break;
275 case Keys.Oemcomma: //逗号
276 strKey = ",";
277 break;
278 case Keys.OemPeriod: //句号
279 strKey = ".";
280 break;
281 case Keys.Oem5: //反斜杠
282 strKey = "\\";
283 break;
284 case Keys.Oemtilde: //波浪号
285 strKey = "`";
286 break;
287 default:
288 break;
289 }
290 }
291 }
292
293 //编辑快捷键时切换为英文输入法
294 private void dataGridViewShortcutKey_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
295 {
296 TextBox dg_innerTextBox;
297 if (e.Control is TextBox && this.dataGridViewShortcutKey.CurrentCell.ColumnIndex == 2)
298 {
299 dg_innerTextBox = e.Control as TextBox;
300 dg_innerTextBox.ImeMode = ImeMode.Close;
301 }
302 }
303
304 }
305 }
306 2.主界面
307 /// <summary>
308 /// 处理所有工具栏按钮的快捷键响应事件
309 /// </summary>
310 /// <param name="e"></param>
311 private void DealAllToolStripButtonKeysEvent(KeyEventArgs e)
312 {
313 string strKey = null;
314 if (e.KeyValue>=65&&e.KeyValue<=90||e.KeyValue>=112&&e.KeyValue<=135)
315 {
316 strKey=Enum.GetName(typeof(Keys), e.KeyValue);
317 }
318 else
319 {
320 switch (e.KeyCode)
321 {
322 case Keys.Decimal:
323 strKey = ".";
324 break;
325 case Keys.Subtract:
326 strKey = "-";
327 break;
328 case Keys.Add:
329 strKey = "+";
330 break;
331 case Keys.OemBackslash: //斜杠
332 strKey = "/";
333 break;
334 case Keys.Multiply: //乘号
335 strKey = "*";
336 break;
337 case Keys.Divide: //除号
338 strKey = "/";
339 break;
340 case Keys.OemOpenBrackets://左括号
341 strKey = "[";
342 break;
343 case Keys.Oem6: //右括号
344 strKey = "]";
345 break;
346 case Keys.Oem1: //分号
347 strKey = ";";
348 break;
349 case Keys.Oem7: //引号
350 strKey = "'";
351 break;
352 case Keys.Oemcomma: //逗号
353 strKey = ",";
354 break;
355 case Keys.OemPeriod: //句号
356 strKey = ".";
357 break;
358 case Keys.Oem5: //反斜杠
359 strKey = "\\";
360 break;
361 case Keys.Oemtilde: //波浪号
362 strKey = "`";
363 break;
364 default:
365 break;
366 }
367 }
368 this.responseShortcutKey(strKey);
369 }
370
371 /// <summary>
372 /// 响应自定义快捷键的方法
373 /// </summary>
374 private void responseShortcutKey(string strShortcutKey)
375 {
376 // 先判断按下的快捷键是不是设置好的快捷键
377 if (!dictionaryKey.ContainsValue(strShortcutKey))
378 {
379 return;
380 }
381 object control;
382 ToolStripButton button; // 按钮
383 ToolStripDropDownButton toolStripDropDown; // 二级菜单按钮
384 ToolStripMenuItem toolStripItemCollection; // 二级菜单下的按钮
385
386 for (int i = 0; i < toolStripShortcutButton.Items.Count; i++)
387 {
388 control = toolStripShortcutButton.Items[i];
389 string strKey = null;
390 if (control is ToolStripButton)
391 {
392 button = (ToolStripButton)control;
393 // 判断是不是对应的按钮
394 strKey = string.Format("{0},{1}", (string)button.AccessibleName, (string)button.Name);
395 string getKeyStr = dictionaryKey[strKey];
396 if (getKeyStr == null)
397 {
398 return;
399 }
400 else if (strShortcutKey == getKeyStr)
401 {
402 button.PerformClick();
403 return;
404 }
405
406 }
407 // 如果是二级菜单,则去找二级菜单下的按钮
408 else if (control is ToolStripDropDownButton)
409 {
410 toolStripDropDown = (ToolStripDropDownButton)control;
411 for (int j = 0; j < toolStripDropDown.DropDownItems.Count; j++)
412 {
413 if (!(toolStripDropDown.DropDownItems[j] is ToolStripMenuItem))
414 {
415 continue;
416 }
417 toolStripItemCollection = (ToolStripMenuItem)toolStripDropDown.DropDownItems[j];
418
419 if (toolStripItemCollection == null)
420 {
421 continue;
422 }
423 // 判断是不是对应的按钮
424 strKey = string.Format("{0},{1}", (string)toolStripItemCollection.AccessibleName, (string)toolStripItemCollection.Name);
425 string getKeyStr = dictionaryKey[strKey]; ;
426 if (getKeyStr == null)
427 {
428 return;
429 }
430 if (strShortcutKey == getKeyStr)
431 {
432 toolStripItemCollection.PerformClick();
433 return;
434 }
435 }
436 }
437 }
438 }
439 /// <summary>
440 /// 加载主界面快捷键显示
441 /// </summary>
442 public void loadToolStripShortCutKeys()
443 {
444 List<cy_kjjsz> kjjszModelList = ShortCutKeyManager.Instance.getAllKjjszModelList();
445 if (kjjszModelList == null || kjjszModelList.Count == 0)
446 {
447 dictionaryKey = ShortCutKeysToolStripManager.getAllToolStripShortCutKeysDictionary();
448 //加载快捷键字典
449 this.loadShortCutKeysDic();
450 //写入数据库
451 cy_kjjsz kjjszMode = null;
452 foreach (string strDicShortCutKeys in dictionaryKey.Keys)
453 {
454 kjjszMode = new cy_kjjsz();
455 kjjszMode.v_gnmk_no = strDicShortCutKeys;
456 kjjszMode.i_operator_pk = LoginManager.Instance.getLoginerEmployeePK();
457 kjjszMode.v_operator_name = LoginManager.Instance.getLoginerEmployeeName();
458 kjjszMode.v_mac_address = GetSystemInfo.GetMacAddress();
459 kjjszMode.v_kjj = ShortCutKeysToolStripManager.getToolStripShortCutKeysByToolStripButtonName(strDicShortCutKeys);
460 switch (strDicShortCutKeys)
461 {
462 case "2-1217,toolStripButtonStartTable":
463 kjjszMode.v_name = "开台";
464 break;
465 case "2-1218,toolStripButtonChangeTable":
466 kjjszMode.v_name = "转台";
467 break;
468 case "2-1216,toolStripButtonCancelTable":
469 kjjszMode.v_name = "消台";
470 break;
471 case "2-1215,ToolStripMenuItemSetUpTable":
472 kjjszMode.v_name = "搭台";
473 break;
474 case "2-1214,ToolStripMenuItemCutTable":
475 kjjszMode.v_name = "拆台";
476 break;
477 case "2-1213,ToolStripMenuItemCombineTable":
478 kjjszMode.v_name = "并台";
479 break;
480 case "2-1212,ToolStripMenuItemAddTable":
481 kjjszMode.v_name = "加台";
482 break;
483 case "2-1211,ToolStripMenuItemModifyTableInfo":
484 kjjszMode.v_name = "修改餐桌信息";
485 break;
486 case "2-1210,toolStripButtonOrderDishes":
487 kjjszMode.v_name = "点菜";
488 break;
489 case "2-1209,toolStripButtonChangeDishes":
490 kjjszMode.v_name = "换菜";
491 break;
492 case "2-1208,ToolStripMenuItemPushFood":
493 kjjszMode.v_name = "催菜";
494 break;
495 case "2-1201,ToolStripMenuItemReturnDishes":
496 kjjszMode.v_name = "退菜";
497 break;
498 case "2-1207,ToolStripMenuItemSuspend":
499 kjjszMode.v_name = "挂起";
500 break;
501 case "2-1206,ToolStripMenuItemRouse":
502 kjjszMode.v_name = "叫起";
503 break;
504 case "2-1601,toolStripButtonMemberSendCard":
505 kjjszMode.v_name = "发卡";
506 break;
507 case "2-1602,toolStripButtonMemberCharge":
508 kjjszMode.v_name = "充值";
509 break;
510 case "2-1701,toolStripButtonPrintTotalBills":
511 kjjszMode.v_name = "打印总单";
512 break;
513 case "2-1702,toolStripButtonPreprintBills":
514 kjjszMode.v_name = "预打账单";
515 break;
516 case "2-1703,toolStripButtonPrintKitchenOrder":
517 kjjszMode.v_name = "补打厨打单";
518 break;
519 case "2-1400,toolStripButtonCheckOut":
520 kjjszMode.v_name = "结账";
521 break;
522 case "2-1407,toolStripButtonAntiSettlement":
523 kjjszMode.v_name = "反结账";
524 break;
525 case "2-1300,toolStripButtonShiftExchange":
526 kjjszMode.v_name = "交班";
527 break;
528 case "2-1101,toolStripButtonLogoutSystem":
529 kjjszMode.v_name = "注销";
530 break;
531 case "2-1102,toolStripButtonCloseSystem":
532 kjjszMode.v_name = "退出系统";
533 break;
534 default:
535 break;
536 }
537 ShortCutKeyManager.Instance.kjjszAdd(kjjszMode);
538 }
539 }
540 else
541 {
542 foreach (cy_kjjsz item in kjjszModelList)
543 {
544 dictionaryKey.Add(item.v_gnmk_no, item.v_kjj);
545 }
546 //加载快捷键字典
547 this.loadShortCutKeysDic();
548 }
549 }
550
551 //加载快捷键字典
552 private void loadShortCutKeysDic()
553 {
554 if (dictionaryKey == null || dictionaryKey.Count == 0)
555 {
556 return;
557 }
558 object control;
559 ToolStripButton button; // 按钮
560 ToolStripDropDownButton toolStripDropDown; // 二级菜单按钮
561 ToolStripMenuItem toolStripItemCollection; // 二级菜单下的按钮
562 string[] key = new string[2];
563 foreach (var item in dictionaryKey.Keys)
564 {
565 key = item.Split(',');
566 if (key == null || key.Length < 1)
567 {
568 return;
569 }
570 for (int i = 0; i < toolStripShortcutButton.Items.Count; i++)
571 {
572 control = toolStripShortcutButton.Items[i];
573 //菜单按钮
574 if (control is ToolStripButton)
575 {
576 button = (ToolStripButton)control;
577 // 判断是不是对应的按钮
578 if ((string)button.Name == key[1])
579 {
580 if (dictionaryKey[item] == null || dictionaryKey[item] == "")
581 {
582 continue;
583 }
584 button.Text += "(" + dictionaryKey[item] + ")";
585 }
586 }
587 // 如果是二级菜单,则去找二级菜单下的按钮
588 else if (control is ToolStripDropDownButton)
589 {
590 toolStripDropDown = (ToolStripDropDownButton)control;
591 for (int j = 0; j < toolStripDropDown.DropDownItems.Count; j++)
592 {
593 if (!(toolStripDropDown.DropDownItems[j] is ToolStripMenuItem))
594 {
595 continue;
596 }
597 toolStripItemCollection = (ToolStripMenuItem)toolStripDropDown.DropDownItems[j];
598
599 if (toolStripItemCollection == null)
600 {
601 continue;
602 }
603 // 判断是不是对应的按钮
604 if ((string)toolStripItemCollection.Name == key[1])
605 {
606 if (dictionaryKey[item] == null || dictionaryKey[item] == "")
607 {
608 continue;
609 }
610 toolStripItemCollection.Text += "(" + dictionaryKey[item] + ")";
611 }
612 }
613 }
614
615 }
616 }
617
618 }