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