1 #region 操作DataGridView 2 3 /// <summary> 4 /// 初始化DataGridView屬性 5 /// </summary> 6 /// <param name="dg">要處理的DataGridView</param> 7 /// <param name="allowUserToAddRows">允許用戶添加行</param> 8 /// <param name="allowUserToDeleteRows">允許用戶刪除行</param> 9 /// <param name="rowHeadersVisible">是否顯示包含行標題的列</param> 10 /// <param name="columnHeadersHeightSizeMode">列標頭高度大小模式</param> 11 /// <param name="multiSelect">是否多選</param> 12 /// <param name="readOnly">是否只讀</param> 13 /// <param name="rowHeadersWidth">列頭寬度</param> 14 /// <param name="selectionMode">列選擇模式</param> 15 public virtual void InitSetDataGridViewAttribute(DataGridView dg, 16 bool allowUserToAddRows, 17 bool allowUserToDeleteRows, 18 bool allowUserToResizeRows, 19 bool rowHeadersVisible, 20 DataGridViewColumnHeadersHeightSizeMode columnHeadersHeightSizeMode, 21 bool multiSelect, 22 bool readOnly, 23 int rowHeadersWidth, 24 DataGridViewSelectionMode selectionMode) 25 { 26 dg.AllowUserToAddRows = allowUserToAddRows; 27 dg.AllowUserToDeleteRows = allowUserToDeleteRows; 28 dg.AllowUserToResizeRows = allowUserToResizeRows; 29 dg.RowHeadersVisible = rowHeadersVisible; 30 dg.ColumnHeadersHeightSizeMode = columnHeadersHeightSizeMode; 31 dg.MultiSelect = multiSelect; 32 dg.ReadOnly = readOnly; 33 dg.RowHeadersWidth = rowHeadersWidth; 34 dg.SelectionMode = selectionMode; 35 36 dg.RowStateChanged += dg_RowStateChanged; 37 } 38 39 /// <summary> 40 /// 初始化DataGridView屬性 41 /// </summary> 42 /// <param name="dg">要處理的DataGridView</param> 43 public virtual void InitSetDataGridViewAttribute(DataGridView dg) 44 { 45 InitSetDataGridViewAttribute(dg, 46 false, 47 false, 48 false, 49 true, DataGridViewColumnHeadersHeightSizeMode.AutoSize, 50 false, 51 true, 52 50, 53 DataGridViewSelectionMode.FullRowSelect); 54 } 55 56 /// <summary> 57 /// 58 /// </summary> 59 /// <param name="sender"></param> 60 /// <param name="e"></param> 61 public virtual void dg_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) 62 { 63 e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString(); 64 } 65 66 /// <summary> 67 /// DataGridView添加行 68 /// </summary> 69 /// <param name="dg">要處理的DataGridView</param> 70 /// <param name="dr">添加的列</param> 71 public void DataGridViewAddRows(DataGridView dg, DataGridViewRow dr) 72 { 73 dg.Rows.Add(dr); 74 } 75 76 /// <summary> 77 /// DataGridView行中添加列 78 /// </summary> 79 /// <param name="objs">要添加的對象</param> 80 /// <returns>列</returns> 81 public DataGridViewRow DataGridViewRowsAddCells(object[] objs) 82 { 83 DataGridViewRow row = new DataGridViewRow(); 84 85 foreach (object obj in objs) 86 { 87 DataGridViewTextBoxCell tBoxCell = new DataGridViewTextBoxCell(); 88 tBoxCell.Value = obj; 89 90 row.Cells.Add(tBoxCell); 91 } 92 93 return row; 94 } 95 96 /// <summary> 97 /// DataGridView添加行 98 /// </summary> 99 /// <param name="dg">要處理的DataGridView</param> 100 /// <param name="listObjecArray">添加的對象List</param> 101 public void DataGridViewAddRows(DataGridView dg, List<object[]> listObjecArray) 102 { 103 foreach (object[] objs in listObjecArray) 104 { 105 DataGridViewRow dr = DataGridViewRowsAddCells(objs); 106 107 DataGridViewAddRows(dg, dr); 108 } 109 } 110 111 /// <summary> 112 /// DataGridView添加行 113 /// </summary> 114 /// <param name="dg">要處理的DataGridView</param> 115 /// <param name="objs">添加的對象</param> 116 public void DataGridViewAddRows(DataGridView dg, object[] objs) 117 { 118 DataGridViewRow dr = DataGridViewRowsAddCells(objs); 119 120 DataGridViewAddRows(dg, dr); 121 } 122 123 /// <summary> 124 /// DataGridView列排序 125 /// </summary> 126 /// <param name="dg">要排序的DataGridView</param> 127 /// <param name="dataGridViewColumnIndex">列索引</param> 128 /// <param name="flag">0:升序排列 1:降序排列</param> 129 public void DataGridViewSort(DataGridView dg, int dataGridViewColumnIndex, int flag) 130 { 131 switch (flag) 132 { 133 case 0: 134 dg.Sort(dg.Columns[dataGridViewColumnIndex], ListSortDirection.Ascending); 135 break; 136 case 1: 137 dg.Sort(dg.Columns[dataGridViewColumnIndex], ListSortDirection.Descending); 138 break; 139 default: 140 break; 141 } 142 143 } 144 145 #endregion