GridViewSetterBase.cs 3.6 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. using static System.Windows.Forms.VisualStyles.VisualStyleElement;
  11. namespace PTMedicalInsurance.FormSetter
  12. {
  13. public class GridViewSetterBase
  14. {
  15. /// <summary>
  16. /// 动态增加datagridview列
  17. /// </summary>
  18. /// <param name="dgv"></param>
  19. /// <param name="headerText"></param>
  20. /// <param name="dataPropertyName"></param>
  21. public void AddDGVColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  22. {
  23. DataGridViewColumn newColumn = new DataGridViewTextBoxColumn();
  24. newColumn.HeaderText = headerText;
  25. newColumn.Width = width;
  26. newColumn.DataPropertyName = dataPropertyName;
  27. newColumn.Name = dataPropertyName;
  28. dgv.Columns.Add(newColumn);
  29. }
  30. protected void AddDGVCheckBoxColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  31. {
  32. DataGridViewColumn newColumn = new DataGridViewCheckBoxColumn();
  33. newColumn.HeaderText = headerText;
  34. newColumn.Width = width;
  35. newColumn.DataPropertyName = dataPropertyName;
  36. newColumn.Name = dataPropertyName;
  37. dgv.Columns.Add(newColumn);
  38. }
  39. public void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, string sqlStr)
  40. {
  41. SetDBLKCombox(ref dblcbx, GetDBLKComboxTable(sqlStr));
  42. }
  43. public void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, DataTable dt)
  44. {
  45. if (dt == null) return;
  46. dblcbx.sDisplayField = "Code,Name,SearchCode";
  47. dblcbx.sDisplayMember = "名称";
  48. dblcbx.sKeyWords = "Code,SearchCode";
  49. dblcbx.DataSource = dt;
  50. dblcbx.RowFilterVisible = true;
  51. dblcbx.TextBox.Width = 400;
  52. dblcbx.DataGridView.Width = 400;
  53. dblcbx.DataGridView.Columns[0].Name = "编码";
  54. dblcbx.DataGridView.Columns[1].Name = "名称";
  55. dblcbx.DataGridView.Columns[2].Name = "查找码";
  56. dblcbx.DataGridView.Columns[0].Width = 100;
  57. dblcbx.DataGridView.Columns[1].Width = 200;
  58. }
  59. public DataTable GetDBLKComboxTable(string sqlStr)
  60. {
  61. InvokeHelper invoker = new InvokeHelper();
  62. dynamic joInparm = new JObject();
  63. dynamic joTmp = new JObject();
  64. joTmp.sqlStr = sqlStr;
  65. JArray jaParams = new JArray();
  66. jaParams.Add(joTmp);
  67. joInparm.Add("params", JArray.FromObject(jaParams));
  68. joInparm.code = "09010014";
  69. string inParam = joInparm.ToString();
  70. JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
  71. //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
  72. DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
  73. //dt.Columns[0].ColumnName = "编码";
  74. //dt.Columns[1].ColumnName = "名称";
  75. //dt.Columns[2].ColumnName = "拼音查找码";
  76. return dt;
  77. }
  78. public void SetCombox(ref System.Windows.Forms.ComboBox cbx, string sqlStr,string displayMember = "Name",string valueMember = "Code")
  79. {
  80. cbx.DataSource = GetDBLKComboxTable(sqlStr);
  81. cbx.DisplayMember = displayMember;
  82. cbx.ValueMember = valueMember;
  83. }
  84. }
  85. }