CustomCheckBoxColumn.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. using System;
  2. using System.Web;
  3. using System.Web.UI;
  4. using System.Web.UI.WebControls;
  5. namespace Tests
  6. {
  7. public class CustomCheckBoxColumn : CheckBoxField
  8. {
  9. string caseId;
  10. public CustomCheckBoxColumn (string id)
  11. {
  12. this.caseId = id;
  13. }
  14. protected override void InitializeDataCell(DataControlFieldCell cell, DataControlRowState rowState)
  15. {
  16. switch (caseId) {
  17. default:
  18. case "0":
  19. Case0 (cell);
  20. break;
  21. case "1":
  22. Case1 (cell);
  23. break;
  24. case "2":
  25. Case2 (cell);
  26. break;
  27. case "3":
  28. Case3 (cell);
  29. break;
  30. case "4":
  31. Case4 (cell);
  32. break;
  33. case "5":
  34. Case5 (cell);
  35. break;
  36. case "6":
  37. Case6 (cell);
  38. break;
  39. case "7":
  40. Case7 (cell);
  41. break;
  42. }
  43. }
  44. void Case0 (DataControlFieldCell cell)
  45. {
  46. CheckBox checkBox = new CheckBox();
  47. checkBox.ToolTip = "Dummy";
  48. cell.Controls.Add(checkBox);
  49. checkBox.DataBinding += OnDataBindField;
  50. }
  51. void Case1 (DataControlFieldCell cell)
  52. {
  53. ListBox lb = new ListBox ();
  54. cell.Controls.Add(lb);
  55. Case0 (cell);
  56. }
  57. void Case2 (DataControlFieldCell cell)
  58. {
  59. cell.Controls.Add(new CheckBox ());
  60. Case0 (cell);
  61. cell.Controls.Add(new CheckBox ());
  62. }
  63. void Case3 (DataControlFieldCell cell)
  64. {
  65. Content content = new Content ();
  66. CheckBox checkBox = new CheckBox();
  67. checkBox.ToolTip = "Dummy";
  68. content.Controls.Add(checkBox);
  69. checkBox.DataBinding += OnDataBindField;
  70. cell.Controls.Add (content);
  71. }
  72. void Case4 (DataControlFieldCell cell)
  73. {
  74. CheckBox checkBox = new CheckBox();
  75. checkBox.ToolTip = "Dummy";
  76. cell.Controls.Add(checkBox);
  77. ListBox lb = new ListBox ();
  78. lb.DataBinding += OnDataBindField;
  79. cell.Controls.Add(lb);
  80. }
  81. void Case5 (DataControlFieldCell cell)
  82. {
  83. cell.Controls.Add (new ListBox ());
  84. }
  85. void Case6 (DataControlFieldCell cell)
  86. {
  87. cell.Controls.Add (new ListBox ());
  88. cell.Controls.Add (new CheckBox ());
  89. }
  90. void Case7 (DataControlFieldCell cell)
  91. {
  92. cell.Controls.Add (new CheckBox ());
  93. cell.Controls.Add (new ListBox ());
  94. }
  95. }
  96. }