การเพิ่มลำดับใน dataGrid นั้นทำได้หลายแบบ
เป็นการเพิ่มเลข Auto Number ใน dgv เพื่อนำไปใช้ประโยชน์ตามความต้องการ
ตัวอย่าง
// add dgv ลงใน headerCell foreach (DataGridViewRow row in this.dgvCirculateDetail.Rows) { row.HeaderCell.Value = String.Format("{0}", row.Index + 1); } // add dgv ลงใน culumn ที่ต้องการ foreach (DataGridViewRow row in this.dgvCirculateDetail.Rows) { row.Cells["RollOrder"].Value = String.Format("{0}", row.Index + 1); }
Add number +1 ตามค่า Max ใน Database
// Variable private string _maxInGrid,_maxOrder; // ปุ่ม add call เมธอด maxOrder(); private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e) { this.maxOrder(); } private void maxOrder() { StringBuilder sb = new StringBuilder(); try { // get data Max DataTable dtData2 = this._rollPairInCirculationManager.GetMaxRollOrder(_formSelectKey.RollCirculateHKey); try { _maxOrder = Convert.ToInt16(dtData2.Rows[0]["RollOrder"].ToString()); } catch { _maxOrder = 0; } _maxOrder += 1; this.FineMaxSeqinDataGrid(); DataGridViewRow dgr = this.dgvCirculateDetail.CurrentRow; if (dgr != null) { if (_maxInGrid >= _maxOrder) { dgr.Cells["RollOrder"].Value = (_maxInGrid + 1); } else { dgr.Cells["RollOrder"].Value = _maxOrder; } } } catch (Exception exp) { sb.AppendLine("Call method :: maxOrder() "); sb.AppendLine(string.Format(" Message :> {0}", exp.Message.ToString())); sb.AppendLine(string.Format(" Source :> {0}", exp.Source.ToString())); sb.AppendLine(string.Format(" MessStackTraceage :> {0}", exp.StackTrace.ToString())); MessageBox.Show(sb.ToString(), " Error ", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void FineMaxSeqinDataGrid() { _maxInGrid = 0; int _max; if (this._dsData.Tables[this._rollPairInCirculationManager.TableNameCirculateDetail].Rows.Count > 0) { for (int i = 0; i < dgvCirculateDetail.Rows.Count - 1; i++) { _max = Convert.ToInt32(dgvCirculateDetail.Rows[i].Cells["RollOrder"].Value.ToString()); _maxInGrid = Math.Max(_maxInGrid, _max); } } //return _maxInGrid; }