GridViewSetterBase.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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. ///// <summary>
  15. ///// 动态增加datagridview列
  16. ///// </summary>
  17. ///// <param name="dgv"></param>
  18. ///// <param name="headerText"></param>
  19. ///// <param name="dataPropertyName"></param>
  20. //protected void AddDGVColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  21. //{
  22. // DataGridViewColumn newColumn = new DataGridViewTextBoxColumn();
  23. // newColumn.HeaderText = headerText;
  24. // newColumn.Width = width;
  25. // newColumn.DataPropertyName = dataPropertyName;
  26. // newColumn.Name = dataPropertyName;
  27. // dgv.Columns.Add(newColumn);
  28. //}
  29. /// <summary>
  30. /// 动态增加datagridview列
  31. /// </summary>
  32. /// <param name="dgv"></param>
  33. /// <param name="headerText"></param>
  34. /// <param name="dataPropertyName"></param>
  35. public void AddDGVColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  36. {
  37. DataGridViewColumn newColumn = new DataGridViewTextBoxColumn();
  38. newColumn.HeaderText = headerText;
  39. newColumn.Width = width;
  40. newColumn.DataPropertyName = dataPropertyName;
  41. newColumn.Name = dataPropertyName;
  42. dgv.Columns.Add(newColumn);
  43. }
  44. protected void AddDGVCheckBoxColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  45. {
  46. DataGridViewColumn newColumn = new DataGridViewCheckBoxColumn();
  47. newColumn.HeaderText = headerText;
  48. newColumn.Width = width;
  49. newColumn.DataPropertyName = dataPropertyName;
  50. newColumn.Name = dataPropertyName;
  51. dgv.Columns.Add(newColumn);
  52. }
  53. public void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, string sqlStr)
  54. {
  55. SetDBLKCombox(ref dblcbx, GetDBLKComboxTable(sqlStr));
  56. }
  57. public void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, DataTable dt)
  58. {
  59. if (dt == null) return;
  60. dblcbx.sDisplayField = "Code,Name,SearchCode";
  61. dblcbx.sDisplayMember = "名称";
  62. dblcbx.sKeyWords = "Code,SearchCode";
  63. dblcbx.DataSource = dt;
  64. dblcbx.RowFilterVisible = true;
  65. dblcbx.TextBox.Width = 400;
  66. dblcbx.DataGridView.Width = 400;
  67. dblcbx.DataGridView.Columns[0].Name = "编码";
  68. dblcbx.DataGridView.Columns[1].Name = "名称";
  69. dblcbx.DataGridView.Columns[2].Name = "查找码";
  70. dblcbx.DataGridView.Columns[0].Width = 100;
  71. dblcbx.DataGridView.Columns[1].Width = 200;
  72. }
  73. public DataTable GetDBLKComboxTable(string sqlStr)
  74. {
  75. InvokeHelper invoker = new InvokeHelper();
  76. dynamic joInparm = new JObject();
  77. dynamic joTmp = new JObject();
  78. joTmp.sqlStr = sqlStr;
  79. JArray jaParams = new JArray();
  80. jaParams.Add(joTmp);
  81. joInparm.Add("params", JArray.FromObject(jaParams));
  82. joInparm.code = "09010014";
  83. string inParam = joInparm.ToString();
  84. JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
  85. //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
  86. DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
  87. //dt.Columns[0].ColumnName = "编码";
  88. //dt.Columns[1].ColumnName = "名称";
  89. //dt.Columns[2].ColumnName = "拼音查找码";
  90. return dt;
  91. }
  92. public void SetCombox(ref System.Windows.Forms.ComboBox cbx, string sqlStr, string displayMember = "Name", string valueMember = "Code")
  93. {
  94. try
  95. {
  96. cbx.DataSource = GetDBLKComboxTable(sqlStr);
  97. cbx.DisplayMember = displayMember;
  98. cbx.ValueMember = valueMember;
  99. }
  100. catch (Exception ex)
  101. {
  102. MessageBox.Show($"SetCombox控件{cbx.Name}设置异常:{ex.Message}");
  103. }
  104. }
  105. }
  106. }