GridViewSetterBase.cs 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Helper;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace PTMedicalInsurance.FormSetter
  11. {
  12. public class GridViewSetterBase
  13. {
  14. public void AddDGVColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  15. {
  16. DataGridViewColumn newColumn = new DataGridViewTextBoxColumn();
  17. newColumn.HeaderText = headerText;
  18. newColumn.Width = width;
  19. newColumn.DataPropertyName = dataPropertyName;
  20. newColumn.Name = dataPropertyName;
  21. dgv.Columns.Add(newColumn);
  22. }
  23. protected void AddDGVCheckBoxColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  24. {
  25. DataGridViewColumn newColumn = new DataGridViewCheckBoxColumn();
  26. newColumn.HeaderText = headerText;
  27. newColumn.Width = width;
  28. newColumn.DataPropertyName = dataPropertyName;
  29. newColumn.Name = dataPropertyName;
  30. dgv.Columns.Add(newColumn);
  31. }
  32. public void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, string sqlStr)
  33. {
  34. SetDBLKCombox(ref dblcbx, GetDBLKComboxTable(sqlStr));
  35. }
  36. public void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, DataTable dt)
  37. {
  38. if (dt == null) return;
  39. dblcbx.sDisplayField = "Code,Name,SearchCode";
  40. dblcbx.sDisplayMember = "名称";
  41. dblcbx.sKeyWords = "Code,SearchCode";
  42. dblcbx.DataSource = dt;
  43. dblcbx.RowFilterVisible = true;
  44. dblcbx.TextBox.Width = 400;
  45. dblcbx.DataGridView.Width = 400;
  46. dblcbx.DataGridView.Columns[0].Name = "编码";
  47. dblcbx.DataGridView.Columns[1].Name = "名称";
  48. dblcbx.DataGridView.Columns[2].Name = "查找码";
  49. dblcbx.DataGridView.Columns[0].Width = 100;
  50. dblcbx.DataGridView.Columns[1].Width = 200;
  51. }
  52. public DataTable GetDBLKComboxTable(string sqlStr)
  53. {
  54. InvokeHelper invoker = new InvokeHelper();
  55. dynamic joInparm = new JObject();
  56. dynamic joTmp = new JObject();
  57. joTmp.sqlStr = sqlStr;
  58. JArray jaParams = new JArray();
  59. jaParams.Add(joTmp);
  60. joInparm.Add("params", JArray.FromObject(jaParams));
  61. joInparm.code = "09010014";
  62. string inParam = joInparm.ToString();
  63. JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
  64. //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
  65. DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
  66. //dt.Columns[0].ColumnName = "编码";
  67. //dt.Columns[1].ColumnName = "名称";
  68. //dt.Columns[2].ColumnName = "拼音查找码";
  69. return dt;
  70. }
  71. public void SetCombox(ref System.Windows.Forms.ComboBox cbx, string sqlStr, string displayMember = "Name", string valueMember = "Code")
  72. {
  73. try
  74. {
  75. cbx.DataSource = GetDBLKComboxTable(sqlStr);
  76. cbx.DisplayMember = displayMember;
  77. cbx.ValueMember = valueMember;
  78. }
  79. catch (Exception ex)
  80. {
  81. MessageBox.Show($"SetCombox控件{cbx.Name}设置异常:{ex.Message}");
  82. }
  83. }
  84. }
  85. }