ClientBaseOperate.cs.svn-base 48 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112
  1. using System;
  2. using System.Data;
  3. using System.Collections;
  4. using System.Drawing;
  5. using System.Windows.Forms;
  6. using Infragistics.Win;
  7. using Infragistics.Win.Misc;
  8. using Infragistics.Win.UltraWinEditors;
  9. using Infragistics.Win.UltraWinGrid;
  10. using Infragistics.Win.UltraWinTabControl;
  11. using Infragistics.Win.UltraWinToolbars;
  12. using Core.Mes.ClientFrameWork;
  13. namespace Core.Mes.Client.Common
  14. {
  15. /// <summary>
  16. /// ClientBaseOperate 的摘要说明。�
  17. /// </summary>
  18. public class ClientBaseOperate
  19. {
  20. public ClientBaseOperate()
  21. {
  22. //
  23. //TODO: 在此处添加构造函数逻辑���߼�
  24. //
  25. }
  26. //�޸修改操作,带返回值
  27. public StructBaseOperateResult Edit_Result(string strAssembly, string strMethod, object[] objs)
  28. {
  29. string strOut = "";
  30. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer",
  31. strAssembly, strMethod, objs, out strOut);
  32. StructBaseOperateResult sbor = new StructBaseOperateResult();
  33. if (strOut != "")
  34. {
  35. sbor.vFlag = false;
  36. MessageBox.Show(strOut);
  37. return sbor;
  38. }
  39. sbor.vMessage = (rtnObj as ArrayList)[1].ToString();
  40. sbor.vFlag = true;
  41. sbor.vOutlist = rtnObj;
  42. return sbor;
  43. }
  44. //erp
  45. public void Erp_Call(object[] objs)
  46. {
  47. string strOut = "";
  48. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("ServerPlanManager",
  49. "Core.CgMes.ServerPlanManger", "ManuStartInterFace", objs, out strOut);
  50. if (strOut != "")
  51. {
  52. MessageBox.Show(strOut);
  53. return;
  54. }
  55. }
  56. //查询操作���
  57. private StructBaseOperateResult Query_Result(string strAssembly, string strMethod, object[] objs)
  58. {
  59. string strOut = "";
  60. DataSet rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer",
  61. strAssembly, strMethod, objs, out strOut) as DataSet;
  62. StructBaseOperateResult sbor = new StructBaseOperateResult();
  63. if (strOut != "")
  64. {
  65. sbor.vFlag = false;
  66. MessageBox.Show(strOut);
  67. return sbor;
  68. }
  69. sbor.vFlag = true;
  70. rtnObj.Tables[0].TableName = "dtMain";
  71. sbor.vDataSet = rtnObj;
  72. return sbor;
  73. }
  74. //查询操作���
  75. private StructBaseOperateResult Query_Result(string strAssembly, string strClass, string strMethod, object[] objs)
  76. {
  77. string strOut = "";
  78. DataSet rtnObj = ClientCommon._RemotingHelp.ExecuteMethod(strAssembly,
  79. strClass, strMethod, objs, out strOut) as DataSet;
  80. StructBaseOperateResult sbor = new StructBaseOperateResult();
  81. if (strOut != "")
  82. {
  83. sbor.vFlag = false;
  84. MessageBox.Show(strOut);
  85. return sbor;
  86. }
  87. sbor.vFlag = true;
  88. rtnObj.Tables[0].TableName = "dtMain";
  89. sbor.vDataSet = rtnObj;
  90. return sbor;
  91. }
  92. //基本查询
  93. public StructBaseOperateResult CommonQueryOperate(string vID_, string[] vParameter)
  94. {
  95. return Query_Result("Core.CgMes.XS1.Server.SaleCommonOperate", "Select_DataSet",
  96. new object[] { vID_, vParameter });
  97. }
  98. //显示报表SQL
  99. public string Query_Rpt_Sql(string vID_)
  100. {
  101. string strOut = "";
  102. string sqlstr = "";
  103. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer", "Core.CgMes.XS1.Server.SaleCommonOperate",
  104. "Get_Common_Sqlstr_rpt", new object[] { vID_ }, out strOut);
  105. if (rtnObj != null)
  106. {
  107. sqlstr = rtnObj.ToString();
  108. }
  109. if (strOut != "")
  110. {
  111. MessageBox.Show(strOut);
  112. return "";
  113. }
  114. return sqlstr;
  115. }
  116. //直接执行SQL语句
  117. public DataSet ExecuteSql(string sqlstr)
  118. {
  119. string strOut = "";
  120. object[] objs = new object[] { sqlstr };
  121. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer",
  122. "Core.CgMes.XS1.Server.SaleCommonOperate", "ExecuteSql", objs, out strOut);
  123. if (strOut != "")
  124. {
  125. MessageBox.Show(strOut);
  126. }
  127. return rtnObj as DataSet;
  128. }
  129. public void ExecuteOpeSql(string sqlstr)
  130. {
  131. string strOut = "";
  132. object[] objs = new object[] { sqlstr };
  133. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer",
  134. "Core.CgMes.XS1.Server.SaleCommonOperate", "ExecuteOpeSql", objs, out strOut);
  135. if (strOut != "")
  136. {
  137. MessageBox.Show(strOut);
  138. }
  139. }
  140. //连带绑定的查询
  141. /// <summary>
  142. /// 直接绑定到DATASET的查询(可以指定TABLE)
  143. /// </summary>
  144. /// <param name="ds"></param>
  145. /// <param name="vID_"></param>
  146. /// <param name="vParameter"></param>
  147. public void CommonQueryOperate_bind(DataSet ds,string vID_, string[] vParameter)
  148. {
  149. StructBaseOperateResult sbor = CommonQueryOperate(vID_, vParameter);
  150. if (!sbor.vFlag) { return; }
  151. ds.Clear();
  152. sbor.vDataSet.Tables[0].TableName = ds.Tables[0].TableName;
  153. ds.EnforceConstraints = false;
  154. ds.Merge(sbor.vDataSet.Tables[0]);
  155. ds.AcceptChanges();
  156. }
  157. public void CommonExecuteQuery_bind(DataSet ds, string vSql, string[] vParameter)
  158. {
  159. string strOut = "";
  160. object[] objs = new object[] { vSql };
  161. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer",
  162. "Core.CgMes.XS1.Server.SaleCommonOperate", "ExecuteSql", objs, out strOut);
  163. if (strOut != "")
  164. {
  165. MessageBox.Show(strOut);
  166. }
  167. DataSet dsreslut = rtnObj as DataSet;
  168. ds.Clear();
  169. dsreslut.Tables[0].TableName = ds.Tables[0].TableName;
  170. ds.EnforceConstraints = false;
  171. ds.Merge(dsreslut.Tables[0]);
  172. ds.AcceptChanges();
  173. }
  174. /// <summary>
  175. /// 直接绑定到DATASET
  176. /// </summary>
  177. /// <param name="ds"></param>
  178. /// <param name="i"></param>
  179. /// <param name="vID_"></param>
  180. /// <param name="vParameter"></param>
  181. public void CommonQueryOperate_bind(DataSet ds,int i,string vID_, string[] vParameter)
  182. {
  183. StructBaseOperateResult sbor = CommonQueryOperate(vID_, vParameter);
  184. if (!sbor.vFlag) { return; }
  185. if (i == 0)
  186. {
  187. ds.Clear();
  188. }
  189. else
  190. {
  191. ds.Tables[i].Clear();
  192. }
  193. sbor.vDataSet.Tables[0].TableName = ds.Tables[i].TableName;
  194. ds.Merge(sbor.vDataSet.Tables[0]);
  195. ds.AcceptChanges();
  196. }
  197. /// <summary>
  198. /// 代提示,带判断的基本操作
  199. /// </summary>
  200. /// <param name="vID_"></param>
  201. public void CommonEdit_Result(string vID_)
  202. {
  203. string strOut = "";
  204. object[] objs = new object[] { vID_ };
  205. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer",
  206. "Core.CgMes.XS1.Server.SaleCommonOperate", "Exec_CommonOperate0", objs, out strOut);
  207. if (strOut != "")
  208. {
  209. MessageBox.Show(strOut);
  210. }
  211. }
  212. public void CommonEdit_Result(object[] objs, string Message)
  213. {
  214. StructBaseOperateResult sbor = Edit_Result("Core.CgMes.XS1.Server.SaleCommonOperate",
  215. "Exec_CommonOperate", objs);
  216. if (Convert.ToInt32((sbor.vOutlist as ArrayList)[0]) == -1)
  217. {
  218. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  219. return;
  220. }
  221. else
  222. {
  223. if (Convert.ToString((sbor.vOutlist as ArrayList)[1]) != "")
  224. {
  225. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  226. }
  227. else
  228. {
  229. MessageBox.Show(Message);
  230. }
  231. }
  232. }
  233. public void CommonEdit_Result2(object[] objs, string Message)
  234. {
  235. StructBaseOperateResult sbor = Edit_Result("Core.CgMes.XS1.Server.SaleCommonOperate",
  236. "Exec_CommonOperate2", objs);
  237. if (Convert.ToInt32((sbor.vOutlist as ArrayList)[0]) == -1)
  238. {
  239. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  240. return;
  241. }
  242. else
  243. {
  244. if (Convert.ToString((sbor.vOutlist as ArrayList)[1]) != "")
  245. {
  246. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  247. }
  248. else
  249. {
  250. MessageBox.Show(Message);
  251. }
  252. }
  253. }
  254. public void CommonEdit_Result3(object[] objs, string Message)
  255. {
  256. StructBaseOperateResult sbor = Edit_Result("Core.CgMes.XS1.Server.SaleCommonOperate",
  257. "Exec_CommonOperate3", objs);
  258. if (Convert.ToInt32((sbor.vOutlist as ArrayList)[0]) == -1)
  259. {
  260. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  261. return;
  262. }
  263. else
  264. {
  265. if (Convert.ToString((sbor.vOutlist as ArrayList)[1]) != "")
  266. {
  267. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  268. }
  269. else
  270. {
  271. MessageBox.Show(Message);
  272. }
  273. }
  274. }
  275. public void CommonEdit_Result4(object[] objs, string Message)
  276. {
  277. StructBaseOperateResult sbor = Edit_Result("Core.CgMes.XS1.Server.SaleCommonOperate",
  278. "Exec_CommonOperate4", objs);
  279. if (Convert.ToInt32((sbor.vOutlist as ArrayList)[0]) == -1)
  280. {
  281. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  282. return;
  283. }
  284. else
  285. {
  286. if (Convert.ToString((sbor.vOutlist as ArrayList)[1]) != "")
  287. {
  288. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  289. }
  290. else
  291. {
  292. MessageBox.Show(Message);
  293. }
  294. }
  295. }
  296. public void CommonEdit_Result5(object[] objs, string Message)
  297. {
  298. StructBaseOperateResult sbor = Edit_Result("Core.CgMes.XS1.Server.SaleCommonOperate",
  299. "Exec_CommonOperate5", objs);
  300. if (Convert.ToInt32((sbor.vOutlist as ArrayList)[0]) == -1)
  301. {
  302. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  303. return;
  304. }
  305. else
  306. {
  307. if (Convert.ToString((sbor.vOutlist as ArrayList)[1]) != "")
  308. {
  309. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  310. }
  311. else
  312. {
  313. MessageBox.Show(Message);
  314. }
  315. }
  316. }
  317. //自动多提示
  318. public void CommonEdit_Result(object[] objs)
  319. {
  320. string message = "";
  321. StructBaseOperateResult sbor = Edit_Result("Core.CgMes.XS1.Server.SaleCommonOperate",
  322. "Exec_CommonOperate", objs);
  323. if (Convert.ToInt32((sbor.vOutlist as ArrayList)[0]) == -1)
  324. {
  325. MessageBox.Show((sbor.vOutlist as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  326. return;
  327. }
  328. else
  329. {
  330. String[] ms = (sbor.vOutlist as ArrayList)[1].ToString().Split('@');
  331. if (ms.Length == 0)
  332. {
  333. ms[0] = (sbor.vOutlist as ArrayList)[1].ToString();
  334. }
  335. for (int i = 0; i < ms.Length; i++)
  336. {
  337. if (ms[0].ToString() == "")
  338. {
  339. MessageBox.Show("操作成功!");
  340. return;
  341. }
  342. else
  343. {
  344. message += ms[i].ToString() + "\n";
  345. }
  346. }
  347. MessageBox.Show(message);
  348. }
  349. }
  350. /// <summary>
  351. /// 返回客户端问询是否继续操作的修改
  352. /// </summary>
  353. /// <param name="objs"></param>
  354. /// <param name="revlaueindex"></param>
  355. /// <param name="Message"></param>
  356. ///
  357. public void CommonEdit_Result(object[] objs, int revlaueindex, string Message)
  358. {
  359. string strOut = "";
  360. object rtnObj = ClientCommon._RemotingHelp.ExecuteMethod("SaleServer",
  361. "Core.CgMes.XS1.Server.SaleCommonOperate", "Exec_CommonOperate",objs, out strOut);
  362. if (strOut != "")
  363. {
  364. MessageBox.Show(strOut);
  365. }
  366. if (Convert.ToInt32((rtnObj as ArrayList)[0]) == -1)
  367. {
  368. MessageBox.Show((rtnObj as ArrayList)[1].ToString(), "提示", MessageBoxButtons.OK);
  369. return;
  370. }
  371. else
  372. {
  373. if (Convert.ToInt32((rtnObj as ArrayList)[0]) == 0)
  374. {
  375. if (MessageBox.Show((rtnObj as ArrayList)[1].ToString(), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
  376. {
  377. ((string[])objs[1])[revlaueindex] = "1";
  378. CommonEdit_Result(objs, revlaueindex, Message);
  379. return;
  380. }
  381. else
  382. {
  383. return;
  384. }
  385. }
  386. MessageBox.Show(Message);
  387. }
  388. }
  389. public string[] GetSelectRow(UltraGrid ug,string Column)
  390. {
  391. ug.UpdateData();
  392. ArrayList ar = new ArrayList();
  393. foreach (UltraGridRow ugr in ug.Rows)
  394. {
  395. if (Convert.ToBoolean(ugr.Cells["CHECK"].Value.ToString()))
  396. {
  397. ar.Add(ugr.Cells[Column].Value.ToString());
  398. }
  399. }
  400. string[] strs = new string[ar.Count];
  401. for (int i = 0; i < ar.Count; i++)
  402. {
  403. strs[i] = ar[i].ToString();
  404. }
  405. return strs;
  406. }
  407. //忽略分组的取GRID选择字段数据
  408. /// <summary>
  409. /// 获取忽略分组的选中数据(不带起始索引)
  410. /// </summary>
  411. /// <param name="ugr"></param>
  412. /// <param name="ar"></param>
  413. /// <param name="Column"></param>
  414. /// <returns></returns>
  415. public string[] GetSelectColumnItems(UltraGrid ug, ArrayList ar, string Column)
  416. {
  417. for (int i = 0; i < ug.Rows.Count; i++)
  418. {
  419. CheckIsGroupByRow(ug.Rows[i], ar, Column);
  420. }
  421. string[] strs = new string[ar.Count];
  422. for (int i = 0; i < ar.Count; i++)
  423. {
  424. strs[i] = ar[i].ToString();
  425. }
  426. return strs;
  427. }
  428. //忽略分组指定起始INDEX的取GRID的选择字段数据
  429. /// <summary>
  430. /// 获取忽略分组的选中数据(带起始索引)
  431. /// </summary>
  432. /// <param name="ugr"></param>
  433. /// <param name="ar"></param>
  434. /// <param name="Column"></param>
  435. /// <param name="start"></param>
  436. /// <returns></returns>
  437. public string[] GetSelectColumnItems(UltraGrid ug, ArrayList ar, string Column,int start)
  438. {
  439. for (int i = 0; i < ug.Rows.Count; i++)
  440. {
  441. CheckIsGroupByRow(ug.Rows[i], ar, Column);
  442. }
  443. string[] strs = new string[ar.Count];
  444. for (int i = 0; i < ar.Count; i++)
  445. {
  446. strs[i + start] = ar[i].ToString();
  447. }
  448. return strs;
  449. }
  450. private void CheckIsGroupByRow(UltraGridRow ugr, ArrayList ar,string column)
  451. {
  452. if (ugr is UltraGridGroupByRow)
  453. {
  454. foreach (UltraGridRow ugrc in ugr.ChildBands[0].Rows)
  455. {
  456. CheckIsGroupByRow(ugrc, ar, column);
  457. }
  458. }
  459. else
  460. {
  461. if (Convert.ToBoolean(ugr.Cells["CHECK"].Value.ToString()))
  462. {
  463. ar.Add(ugr.Cells[column].Value.ToString());
  464. }
  465. }
  466. }
  467. //分组
  468. public void SetGroupBy(CheckBox chk, UltraGrid ug)
  469. {
  470. if (chk.Checked)
  471. {
  472. ug.DisplayLayout.Override.AllowGroupBy = DefaultableBoolean.True;
  473. ug.DisplayLayout.GroupByBox.Hidden = false;
  474. }
  475. else
  476. {
  477. ug.DisplayLayout.Override.AllowGroupBy = DefaultableBoolean.False;
  478. ug.DisplayLayout.GroupByBox.Hidden = true;
  479. ug.DisplayLayout.Bands[0].SortedColumns.Clear();
  480. }
  481. }
  482. //过滤
  483. public void SetFilter(CheckBox chk, UltraGrid ug)
  484. {
  485. if (chk.Checked)
  486. {
  487. ug.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow;
  488. }
  489. else
  490. {
  491. ug.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters();
  492. ug.DisplayLayout.Override.FilterUIType = FilterUIType.Default;
  493. }
  494. }
  495. public void SetToolBarStyle(UltraToolbarsManager utm)
  496. {
  497. utm.LockToolbars = true;
  498. utm.MdiMergeable = false;
  499. utm.ShowQuickCustomizeButton = false;
  500. utm.Style = ToolbarStyle.VisualStudio2005;
  501. foreach (ButtonTool bt in utm.Tools)
  502. {
  503. if (bt.Key == "query")
  504. {
  505. bt.SharedProps.Shortcut = Shortcut.F1;
  506. bt.SharedProps.Caption = "查询";
  507. }
  508. }
  509. }
  510. public bool IsNumber(string str)
  511. {
  512. if (str.Equals(String.Empty)) return true;
  513. try
  514. {
  515. Convert.ToSingle(str);
  516. }
  517. catch
  518. {
  519. return false;
  520. }
  521. return true;
  522. }
  523. public Decimal GetDecimal(object obj)
  524. {
  525. if (obj == null || obj == DBNull.Value) return 0;
  526. Decimal rtnObj = 0;
  527. try
  528. {
  529. rtnObj = Convert.ToDecimal(obj);
  530. }
  531. catch
  532. {
  533. rtnObj = 0;
  534. }
  535. return rtnObj;
  536. }
  537. public bool CheckOpeDataNULL(UltraExpandableGroupBoxPanel ugp)
  538. {
  539. foreach (Control ctrl in ugp.Controls)
  540. {
  541. if (ctrl is UltraTextEditor && ctrl.ToString().IndexOf("UltraTextEditor") > 0)
  542. {
  543. if ((ctrl as UltraTextEditor).Text.Trim() == "")
  544. {
  545. MessageBox.Show(string.Format("请录入{0}", (ctrl as UltraTextEditor).StyleSetName));
  546. return false;
  547. }
  548. }
  549. if (ctrl is UltraNumericEditor && ctrl.ToString().IndexOf("UltraNumericEditor") > 0)
  550. {
  551. if ((ctrl as UltraNumericEditor).Text.Trim() == ".")
  552. {
  553. MessageBox.Show(string.Format("请录入{0}", (ctrl as UltraNumericEditor).NullText));
  554. return false;
  555. }
  556. }
  557. if (ctrl is ComboBox && ctrl.ToString().IndexOf("ComboBox") > 0)
  558. {
  559. if ((ctrl as ComboBox).SelectedValue.ToString() == "")
  560. {
  561. MessageBox.Show(string.Format("请选择{0}", (ctrl as ComboBox).Tag));
  562. return false;
  563. }
  564. }
  565. }
  566. return true;
  567. }
  568. /// <summary>
  569. /// 设置GRID样式
  570. /// </summary>
  571. /// <param name="ulgrid"></param>
  572. public void SetUltraGridStyle(UltraGrid ulgrid)
  573. {
  574. ulgrid.DisplayLayout.GroupByBox.Hidden = true;
  575. ulgrid.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill;
  576. ulgrid.DisplayLayout.CaptionVisible = DefaultableBoolean.False;
  577. ulgrid.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate;
  578. ulgrid.DisplayLayout.MaxColScrollRegions = 2;
  579. ulgrid.DisplayLayout.MaxRowScrollRegions = 2;
  580. ulgrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.SortMulti;
  581. ulgrid.DisplayLayout.UseFixedHeaders = true;
  582. ulgrid.DisplayLayout.Override.FixedHeaderIndicator = FixedHeaderIndicator.None;
  583. //ulgrid.DisplayLayout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.RaisedSoft;
  584. ulgrid.DisplayLayout.Override.HeaderAppearance.TextHAlign = Infragistics.Win.HAlign.Center;
  585. ulgrid.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
  586. ulgrid.DisplayLayout.Override.MinRowHeight = 21;
  587. //ulgrid.DisplayLayout.Override.RowSelectorHeaderStyle = Infragistics.Win.UltraWinGrid.RowSelectorHeaderStyle.SeparateElement;
  588. ulgrid.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
  589. ulgrid.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.True;
  590. ulgrid.DisplayLayout.Override.CellAppearance.TextHAlign = HAlign.Center;
  591. ulgrid.Font = new System.Drawing.Font("宋体", 9F);
  592. ulgrid.DisplayLayout.Appearance.FontData.SizeInPoints = 9;
  593. ulgrid.DisplayLayout.GroupByBox.Prompt = "可以选择需要统计的列拖放到此处,系统将自动按该列统计!可以拖放多列分层";
  594. ulgrid.DisplayLayout.Override.SummaryValueAppearance.BackColor = Color.LightPink;
  595. if (ulgrid.DisplayLayout.Bands.Count == 1)
  596. {
  597. ulgrid.DisplayLayout.Override.HeaderAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
  598. ulgrid.DisplayLayout.Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
  599. ulgrid.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.GhostWhite;
  600. }
  601. else if (ulgrid.DisplayLayout.Bands.Count == 2)
  602. {
  603. ulgrid.DisplayLayout.Bands[0].Override.HeaderAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
  604. ulgrid.DisplayLayout.Bands[0].Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
  605. ulgrid.DisplayLayout.Bands[0].Override.RowAppearance.BackColor = Color.LightGray;
  606. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
  607. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  608. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  609. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
  610. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  611. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  612. ulgrid.DisplayLayout.Bands[1].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131);
  613. }
  614. foreach (UltraGridBand ugb in ulgrid.DisplayLayout.Bands)
  615. {
  616. foreach (UltraGridColumn ugc in ugb.Columns)
  617. {
  618. switch (ugc.Key.ToUpper())
  619. {
  620. case "CHECK":
  621. ugc.Header.Caption = "选择";
  622. ugc.Width = 20;
  623. ugc.DataType = typeof(Boolean);
  624. break;
  625. case "OVERMONEY":
  626. ugc.Header.Caption = "溢短装金额";
  627. ugc.Format = "C";
  628. ugc.Width = 50;
  629. break;
  630. case "PRI":
  631. ugc.Header.Caption = "优先级";
  632. ugc.ValueList = PublicStaticVariable.Static_BaseData("优先级").ValueListDB;
  633. ugc.Width = 50;
  634. break;
  635. case "SAMPLINGREQUEST":
  636. ugc.Header.Caption = "取样要求";
  637. ugc.ValueList = PublicStaticVariable.Static_BaseData("取样要求").ValueListDB;
  638. ugc.Width = 50;
  639. break;
  640. case "TRANSTYPE":
  641. ugc.Header.Caption = "运输方式";
  642. ugc.ValueList = PublicStaticVariable.Static_BaseData("运输方式").ValueListDB;
  643. ugc.Width = 50;
  644. break;
  645. case "PACTTYPECODE":
  646. ugc.Header.Caption = "订单性质";
  647. ugc.ValueList = PublicStaticVariable.Static_BaseData("订单性质").ValueListDB;
  648. ugc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  649. break;
  650. case "BALANCETYPE":
  651. ugc.Header.Caption = "结算方式";
  652. ugc.ValueList = PublicStaticVariable.Static_BaseData("结算方式").ValueListDB;
  653. ugc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  654. break;
  655. case "ISLOCKPRICE":
  656. ugc.Header.Caption = "是否定价";
  657. ugc.ValueList = PublicStaticVariable.Static_YesOrNo_1().ValueListDB;
  658. ugc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  659. break;
  660. case "JDDJ":
  661. ugc.Header.Caption = "精度等级";
  662. ugc.ValueList = PublicStaticVariable.Static_BaseData("6053").ValueListDB;
  663. ugc.Width = 70;
  664. break;
  665. case "ISNEWPACT":
  666. ugc.Header.Caption = "研发";
  667. ugc.ValueList = PublicStaticVariable.Static_YesOrNo_1().ValueListDB;
  668. ugc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  669. ugc.Width = 35;
  670. break;
  671. case "ISOUTPACT":
  672. ugc.Header.Caption = "出口";
  673. ugc.ValueList = PublicStaticVariable.Static_YesOrNo_1().ValueListDB;
  674. ugc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  675. ugc.Width = 35;
  676. break;
  677. case "FIXSIZE":
  678. ugc.Header.Caption = "定尺方式";
  679. ugc.ValueList = PublicStaticVariable.Static_BaseData("定尺方式").ValueListDB;
  680. ugc.Width = 50;
  681. break;
  682. case "PRICE":
  683. ugc.Format = "C";
  684. ugc.Width = 70;
  685. ugc.Header.Caption = "单价";
  686. ugc.Band.Summaries.Add(SummaryType.Average, ugc, SummaryPosition.UseSummaryPositionColumn);
  687. break;
  688. case "HEIGHT":
  689. ugc.Header.Caption = "厚度";
  690. break;
  691. case "WIDTH":
  692. ugc.Header.Caption = "宽度";
  693. break;
  694. case "ADVANCESCALE":
  695. ugc.Header.Caption = "预付比例";
  696. ugc.Format = "P";
  697. ugc.Width = 60;
  698. break;
  699. case "BUYERCODE":
  700. ugc.Header.Caption = "客户名称";
  701. ugc.ValueList = PublicStaticVariable.Static_BuyerCode_FcAr(false).ValueListDB;
  702. ugc.Width = 180;
  703. break;
  704. case "CHECKORG":
  705. ugc.Header.Caption = "检验机构";
  706. ugc.ValueList = PublicStaticVariable.Static_BaseData("检验机构").ValueListDB;
  707. ugc.Width = 60;
  708. break;
  709. case "STATIONCODE":
  710. ugc.Header.Caption = "到站";
  711. ugc.ValueList = PublicStaticVariable.Static_StationCode(true).ValueListDB;
  712. ugc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  713. ugc.Width = 50;
  714. break;
  715. case "PACTNO":
  716. ugc.Header.Caption = "订单号";
  717. ugc.Width = 100;
  718. break;
  719. case "TRAINPLANNO":
  720. ugc.Header.Caption = "发运计划号";
  721. ugc.Width = 90;
  722. break;
  723. case "FORECORPCODE":
  724. ugc.Header.Caption = "驻外公司";
  725. ugc.ValueList = PublicStaticVariable.Static_BaseData("驻外公司").ValueListDB;
  726. ugc.Width = 70;
  727. break;
  728. case "SENDSTATUS":
  729. ugc.Header.Caption = "交货状态";
  730. ugc.ValueList = PublicStaticVariable.Static_BaseData("交货状态分类").ValueListDB;
  731. ugc.Width = 60;
  732. break;
  733. case "INCEPTCORPCODE":
  734. ugc.Header.Caption = "收货单位";
  735. ugc.ValueList = PublicStaticVariable.Static_InceptCorp(true).ValueListDB;
  736. ugc.Width = 180;
  737. break;
  738. case "SENDTYPE":
  739. ugc.Header.Caption = "定量方式";
  740. ugc.ValueList = PublicStaticVariable.Static_BaseData("定量方式").ValueListDB;
  741. ugc.Width = 40;
  742. break;
  743. case "PURPOSEID":
  744. ugc.Header.Caption = "产品用途";
  745. ugc.ValueList = PublicStaticVariable.Static_BaseData("产品用途").ValueListDB;
  746. ugc.Width = 40;
  747. break;
  748. case "LEASEDLINE":
  749. ugc.Header.Caption = "专用线";
  750. ugc.ValueList = PublicStaticVariable.Static_BaseData("专用线").ValueListDB;
  751. ugc.Width = 50;
  752. break;
  753. case "CATEGORY":
  754. ugc.Header.Caption = "钢种";
  755. ugc.ValueList = PublicStaticVariable.Static_BaseData("牌号分类").ValueListDB;
  756. ugc.Width = 120;
  757. break;
  758. case "STEELCODE":
  759. ugc.Header.Caption = "牌号";
  760. ugc.ValueList = PublicStaticVariable.Static_SteelName(true).ValueListDB;
  761. break;
  762. case "SENDENDDATE":
  763. ugc.Header.Caption = "交货结束日期";
  764. break;
  765. case "PERSON":
  766. ugc.ValueList = PublicStaticVariable.Static_UserName(false).ValueListDB;
  767. break;
  768. case "ASKPLAN_ID":
  769. ugc.Header.Caption = "请车号";
  770. break;
  771. case "F_ASKPLAN_ID":
  772. ugc.Header.Caption = "请车批车号";
  773. break;
  774. case "VEHICLEPLANNO":
  775. ugc.Header.Caption = "运输号码";
  776. break;
  777. case "INPUTPERSON":
  778. ugc.Header.Caption = "录入人";
  779. ugc.ValueList = PublicStaticVariable.Static_UserName(true).ValueListDB;
  780. break;
  781. case "WEIGHT":
  782. ugc.Header.Caption = "重量";
  783. ugc.Width = 55;
  784. break;
  785. case "QUANTITY":
  786. ugc.Header.Caption = "卷(块)数";
  787. ugc.Width = 55;
  788. break;
  789. case "USEDSTAND":
  790. ugc.Header.Caption = "标准";
  791. ugc.ValueList = PublicStaticVariable.Static_STD_ID(true).ValueListDB;
  792. ugc.Width = 60;
  793. break;
  794. case "TRAINTYPE":
  795. ugc.Header.Caption = "车种";
  796. ugc.ValueList = PublicStaticVariable.Static_BaseData("车种").ValueListDB;
  797. ugc.Width = 40;
  798. break;
  799. case "LOADPOSITION":
  800. ugc.Header.Caption = "装车地点";
  801. ugc.ValueList = PublicStaticVariable.Static_BaseData("装车地点").ValueListDB;
  802. ugc.Width = 50;
  803. break;
  804. case "FIXTYPE":
  805. ugc.Header.Caption = "装车方式";
  806. ugc.ValueList = PublicStaticVariable.Static_BaseData("装车方式").ValueListDB;
  807. ugc.Width = 60;
  808. break;
  809. case "INPUTTIME":
  810. ugc.Header.Caption = "录入时间";
  811. break;
  812. case "IMPORTTIME":
  813. ugc.Header.Caption = "录入时间";
  814. break;
  815. case "PLANDATE":
  816. ugc.Header.Caption = "计划日期";
  817. break;
  818. case "CARAFFIRM":
  819. ugc.Hidden = true;
  820. break;
  821. case "AFFIRMSTATUS":
  822. ugc.Hidden = true;
  823. break;
  824. case "ISMIXED":
  825. ugc.Hidden = true;
  826. break;
  827. case "REMARK":
  828. ugc.Header.Caption = "备注";
  829. break;
  830. case "MOTORMANNAME":
  831. ugc.Header.Caption = "承运单位";
  832. ugc.Width = 80;
  833. break;
  834. case "DRIVERIDCARD":
  835. ugc.Header.Caption = "身份证号";
  836. ugc.Width = 70;
  837. break;
  838. case "PHONECODE":
  839. ugc.Header.Caption = "电话号码";
  840. ugc.Width = 60;
  841. break;
  842. case "TRANWAGON":
  843. ugc.Header.Caption = "车号";
  844. ugc.Width = 60;
  845. break;
  846. case "SENDWEIGHT":
  847. ugc.Header.Caption = "发运重量";
  848. ugc.Width = 60;
  849. break;
  850. //结算
  851. case "INOUTTYPE":
  852. ugc.Header.Caption = "出入类型";
  853. ugc.Width = 60;
  854. ugc.ValueList = PublicStaticVariable.Static_BaseData("2078").ValueListDB;
  855. break;
  856. case "PIAOTYPE":
  857. ugc.Header.Caption = "票据类型";
  858. ugc.Width = 60;
  859. ugc.ValueList = PublicStaticVariable.Static_BaseData("2084").ValueListDB;
  860. break;
  861. case "PDVALIDITY":
  862. ugc.Header.Caption = "承兑期限";
  863. ugc.Width = 60;
  864. ugc.ValueList = PublicStaticVariable.Static_BaseData("2085").ValueListDB;
  865. break;
  866. case "SHAPCODE":
  867. ugc.Header.Caption = "产品形态";
  868. ugc.Width = 60;
  869. ugc.ValueList = PublicStaticVariable.Static_BaseData("1002").ValueListDB;
  870. break;
  871. case "BILLNO":
  872. ugc.Header.Caption = "票号";
  873. ugc.Width = 50;
  874. break;
  875. case "ISEXAIME":
  876. ugc.Header.Caption = "是否审批";
  877. ugc.Width = 60;
  878. ugc.ValueList = PublicStaticVariable.Static_YesOrNo_1().ValueListDB;
  879. break;
  880. case "ISBEGINBALANCE":
  881. ugc.Header.Caption = "开始结算";
  882. ugc.ValueList = PublicStaticVariable.Static_YesOrNo_1().ValueListDB;
  883. ugc.Width = 60;
  884. break;
  885. case "HONOURBEDATE":
  886. ugc.Header.Caption = "开始日期";
  887. break;
  888. case "HONOURENDDATE":
  889. ugc.Header.Caption = "结束日期";
  890. break;
  891. case "AFFIRMTIME":
  892. ugc.Header.Caption = "审批时间";
  893. break;
  894. case "AFFIRMFLAG":
  895. ugc.Header.Caption = "是否确认";
  896. ugc.ValueList = PublicStaticVariable.Static_YesOrNo_1().ValueListDB;
  897. break;
  898. case "AFFIRMPERSON":
  899. ugc.Header.Caption = "审批人";
  900. break;
  901. case "ORDERNO":
  902. ugc.Header.Caption = "订单行号";
  903. break;
  904. //协议管理
  905. case "CONFERNO":
  906. ugc.Header.Caption = "协议号";
  907. break;
  908. case "ADVANCE":
  909. ugc.Header.Caption = "预约金";
  910. break;
  911. case "INPUTDATE":
  912. ugc.Header.Caption = "签订日期";
  913. break;
  914. case "BEGINDATE":
  915. ugc.Header.Caption = "生效日期";
  916. break;
  917. case "ENDDATE":
  918. ugc.Header.Caption = "截至日期";
  919. break;
  920. case "CONFERTYPE":
  921. ugc.Header.Caption = "协议类型";
  922. ugc.ValueList = PublicStaticVariable.Static_BaseData("2087").ValueListDB;
  923. break;
  924. case "PREFERENTIALWAY":
  925. ugc.Header.Caption = "优惠类型";
  926. ugc.ValueList = PublicStaticVariable.Static_BaseData("2088").ValueListDB;
  927. break;
  928. case "CHECKWAY":
  929. ugc.Header.Caption = "考核方式";
  930. ugc.ValueList = PublicStaticVariable.Static_BaseData("2089").ValueListDB;
  931. break;
  932. case "SELLITEMCODE":
  933. ugc.Header.Caption = "销售项目";
  934. ugc.ValueList = PublicStaticVariable.Static_BaseData("6001").ValueListDB;
  935. break;
  936. case "SHAPECODE":
  937. ugc.Header.Caption = "产品形态";
  938. ugc.ValueList = PublicStaticVariable.Static_BaseData("1002").ValueListDB;
  939. break;
  940. case "AREA":
  941. ugc.Header.Caption = "区域";
  942. ugc.ValueList = PublicStaticVariable.Static_BaseData("2017").ValueListDB;
  943. break;
  944. case "BALANCE_ID":
  945. ugc.Header.Caption = "结算明细号";
  946. break;
  947. case "TRAINWAGON":
  948. ugc.Header.Caption = "车号";
  949. break;
  950. case "LISTNUMBER":
  951. ugc.Header.Caption = "发货明细号";
  952. break;
  953. case "COILNO":
  954. ugc.Header.Caption = "卷号";
  955. break;
  956. case "STOVENO":
  957. ugc.Header.Caption = "炉号";
  958. break;
  959. }
  960. if (ugc.Key.ToUpper().IndexOf("DATE") > 1)
  961. {
  962. ugc.Format = "yyyy年MM月dd日";
  963. ugc.Width = 100;
  964. }
  965. if (ugc.Key.ToUpper().IndexOf("TIME") > 1)
  966. {
  967. ugc.Format = "yyyy年MM月dd日HH时mm分";
  968. ugc.Width = 140;
  969. }
  970. if (ugc.Key.ToUpper() != "CHECK")
  971. {
  972. ugc.CellActivation = Activation.NoEdit;
  973. }
  974. else
  975. {
  976. ugc.CellActivation = Activation.AllowEdit;
  977. }
  978. if (ugc.Key.ToUpper().IndexOf("MONEY") >= 0)
  979. {
  980. ugc.Format = "C";
  981. ugc.Width = 90;
  982. ugc.CellAppearance.TextHAlign = HAlign.Right;
  983. ugc.Band.Summaries.Add(SummaryType.Sum, ugc, SummaryPosition.UseSummaryPositionColumn);
  984. }
  985. if (ugc.Key.ToUpper().IndexOf("WEIGHT") >= 0)
  986. {
  987. ugc.Band.Summaries.Add(SummaryType.Sum, ugc, SummaryPosition.UseSummaryPositionColumn);
  988. }
  989. if (ugc.Key.ToUpper().IndexOf("QUANTITY") >= 0)
  990. {
  991. ugc.Band.Summaries.Add(SummaryType.Sum, ugc, SummaryPosition.UseSummaryPositionColumn);
  992. }
  993. if (ugc.Key.ToUpper().IndexOf("PRICE") >= 0)
  994. {
  995. ugc.Format = "C";
  996. ugc.Width = 60;
  997. ugc.CellAppearance.TextHAlign = HAlign.Right;
  998. //SummarySettings ss1 = new SummarySettings();
  999. //ss1.DisplayFormat = "平均{0}";
  1000. //ss1.SummaryPosition = SummaryPosition.UseSummaryPositionColumn;
  1001. //ss1.SummaryType = SummaryType.Average;
  1002. //ss1.SummaryDisplayArea = SummaryDisplayAreas.Bottom;
  1003. //ss1.SourceColumn = ugc;
  1004. //ss1.SummaryPositionColumn = ugc;
  1005. }
  1006. if (ugc.Key.ToUpper().StartsWith("IS"))
  1007. {
  1008. ugc.ValueList = PublicStaticVariable.Static_YesOrNo_1().ValueListDB;
  1009. }
  1010. }
  1011. ugb.SummaryFooterCaption = "统计:";
  1012. foreach (SummarySettings sss in ugb.Summaries)
  1013. {
  1014. if (sss.SourceColumn.Key.ToUpper().IndexOf("PRICE") >= 0)
  1015. {
  1016. sss.DisplayFormat = "平均{0:C}";
  1017. sss.SummaryPositionColumn = sss.SourceColumn;
  1018. }
  1019. if (sss.SourceColumn.Key.ToUpper().IndexOf("WEIGHT") >= 0)
  1020. {
  1021. sss.DisplayFormat = "{0}";
  1022. sss.SummaryPositionColumn = sss.SourceColumn;
  1023. }
  1024. if (sss.SourceColumn.Key.ToUpper().IndexOf("MONEY") >= 0)
  1025. {
  1026. sss.DisplayFormat = "{0:C}";
  1027. sss.SummaryPositionColumn = sss.SourceColumn;
  1028. }
  1029. if (sss.SourceColumn.Key.ToUpper().IndexOf("QUANTITY") >= 0)
  1030. {
  1031. sss.DisplayFormat = "{0}";
  1032. sss.SummaryPositionColumn = sss.SourceColumn;
  1033. }
  1034. }
  1035. }
  1036. }
  1037. //检验编辑区域数据有效行
  1038. public bool CheckEditData(Control Pctl)
  1039. {
  1040. foreach (Control ctl in Pctl.Controls)
  1041. {
  1042. if (ctl.Controls != null)
  1043. {
  1044. CheckEditData(ctl);
  1045. }
  1046. else
  1047. {
  1048. if (ctl is ComboBox && ctl.Parent is Panel)
  1049. {
  1050. if ((ctl as ComboBox).SelectedIndex == -1 && ctl.Parent.Controls[0])
  1051. {
  1052. if(ctl.Parent is Panel)
  1053. {
  1054. MessageBox.Show(string.Format("请选择{0}!"));
  1055. return false;
  1056. }
  1057. }
  1058. }
  1059. if(ctl is TextBox)
  1060. {
  1061. if((ctl as TextBox).Text.Trim() == "")
  1062. {
  1063. MessageBox.Show(string.Format("请输入{0}",(ctl as TextBox).ToString()));
  1064. }
  1065. }
  1066. }
  1067. }
  1068. }
  1069. }
  1070. public struct StructBaseOperateResult
  1071. {
  1072. public string vMessage;
  1073. public DataSet vDataSet;
  1074. public object vOutlist;
  1075. public bool vFlag;
  1076. public void SetGridDB(DataSet ds)
  1077. {
  1078. ds.Clear();
  1079. vDataSet.Tables[0].TableName = ds.Tables[0].TableName;
  1080. ds.Merge(vDataSet.Tables[0]);
  1081. ds.AcceptChanges();
  1082. }
  1083. }
  1084. }