WorkSpace
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 }
本文来自博客园,作者:一纸年华,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/9849066.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)