¿Cómo completa DataGridView agregar, eliminar, subir, bajar una fila?

  Escena
  Use DataGridView en Winform para completar la adición de una línea, eliminar una línea, subir una línea, bajar una línea
  Completar
  Agregar una línea
  privada vacía TaskViewEditHelper_OnAddStep (remitente de objeto, EventArgs e)
  {
  DataGridViewRow dr = new DataGridViewRow ();
  dr.CreateCells (this.daasGridView (TadaGridView) );
  dr.Cells [0] .Value = "número público" + this.dataGridView_Task_ViewEdit.Rows.Count;
  dr.Cells [1] .Value = "Linkou";
  dr.Cells [2] .Value = "muchos tutoriales de programación y recursos ";
  //this.dataGridView_Task_ViewEdit.Rows.Insert(0, DR); // aumenta a medida que la fila superior de la fila
  this.dataGridView_Task_ViewEdit.Rows.Add (dr); // aumenta a medida que la última línea de la fila
  }
  línea omitido
  privado vacío TaskViewEditHelper_OnRemoveStep (remitente del objeto, EventArgs e)
  {
  if (this.dataGridView_Task_ViewEdit.SelectedRows == null || this.dataGridView_Task_ViewEdit.SelectedRows.Count == 0)
  {
  XtraMessageBox.Show ("Seleccione el paso de eliminación primero, haga clic en la primera columna para seleccionar la fila");
  }
  else
  {
  if (XtraMessageBox.Show ("¿Está seguro de que desea eliminar el paso seleccionado?") == System.Windows.Forms.DialogResult.OK)
  {
  foreach (DataGridViewRow dr en this.dataGridView_Task_ViewEdit.SelectedRows)
  {
  if (dr.IsNewRow == false)
  {
  // Suponiendo que no es una fila enviada, después de agregar una fila de datos con éxito de forma predeterminada, DataGridView crea una nueva fila como la posición de penetración para los nuevos datos
  this.dataGridView_Task_ViewEdit.Rows.Remove (dr);
  }
  }
  }
  }
  }
  Subir una fila
  privado vacío TaskViewEditHelper_OnUpStep (remitente del objeto, EventArgs e)
  {
  if (this.dataGridView_Task_ViewEdit.SelectedRows == null || this.dataGridView_Task_ViewEdit.SelectedRows.Count == 0)
  {
  XtraMessageBox.Show ("Seleccione primero una fila, haga clic en la primera columna para seleccionar la fila");
  }
  else
  {
  if (this .dataGridView_Task_ViewEdit.SelectedRows [0] .Index <= 0)
  {
  XtraMessageBox.Show ("¡Esta línea está en la parte superior, no se puede mover hacia arriba nuevamente!");
  }
  else
  {
  // Tenga cuidado: aquí hay una buena o mala manera de enlazar los datos transición
  // línea seleccionada número
  int = selectedRowIndex GetSelectedRowIndex (this.dataGridView_Task_ViewEdit);
  IF (selectedRowIndex> = 1.)
  {
  // imitación seleccionado fila
  la DataGridViewRow la newRow = dataGridView_Task_ViewEdit.Rows [selectedRowIndex];
  // borrar la línea seleccionada
  dataGridView_Task_ViewEdit.Rows.Remove (dataGridView_Task_ViewEdit.Rows [selectedRowIndex]);
  // la línea de imitación, para perforar la posición de la fila seleccionada
  dataGridView_Task_ViewEdit.Rows.Insert (selectedRowIndex - 1, la newRow.);
  dataGridView_Task_ViewEdit.ClearSelection ();
  // Seleccione la fila seleccionada
  dataGridView_Task_ViewEdit.Rows [selectedRowIndex-1] .Selected = true;
  }
  }
  }
  }
  Nota:
  aquí hay una fila hacia arriba sin vincular la fuente de la fuente de datos. La fila adicional pasa por el método recién agregado. Listo

  Por el momento, el origen de datos de dataGridView está vacío.

  El método para obtener la fila seleccionada se utiliza aquí:

  private int GetSelectedRowIndex (DataGridView dgv)
  {
  if (dgv.Rows.Count == 0)
  {
  return 0;
  }
  foreach (DataGridViewRow fila en dgv.Rows)
  {
  if (row.Selected)
  {
  return row.Index;
  }
  }
  return 0 ;
  }
  la acción
  abajo un
  vacío TaskViewEditHelper_OnDownStep (object sender, EventArgs e) privada
  {
  SI (this.dataGridView_Task_ViewEdit.SelectedRows == null || this.dataGridView_Task_ViewEdit.SelectedRows.Count == 0)
  {
  XtraMessageBox.Show ( "por favor, escoja la línea , Haga clic en la primera columna para seleccionar la fila ");
  }
  else
  {
  if (this.dataGridView_Task_ViewEdit.SelectedRows [0] .Index> = this.dataGridView_Task_ViewEdit.Rows.Count-1)
  {
  XtraMessageBox.Show ("¡Esta línea ya está en la parte inferior y no se puede mover hacia abajo!");
  }
  else
  {
  int selectedRowIndex GetSelectedRowIndex = (this.dataGridView_Task_ViewEdit);
  IF (selectedRowIndex <dataGridView_Task_ViewEdit.Rows.Count - 1.)
  {
  // imitación fila seleccionada
  la DataGridViewRow la newRow = dataGridView_Task_ViewEdit.Rows [selectedRowIndex];
  // eliminación de la fila seleccionada
  dataGridView_Task_ViewEdit.Rows.Remove ( dataGridView_Task_ViewEdit.Rows [selectedRowIndex]);
  // Empuje la fila de imitación en la posición de la siguiente fila
  seleccionada dataGridView_Task_ViewEdit.Rows.Insert (selectedRowIndex + 1, newRow);
  dataGridView_Task_ViewEdit.ClearSelection ();
  // Seleccione la fila seleccionada
  dataGridView_Task_ViewEdit.Rows [selectedRowIndex + 1] .Selected = true;
  }
  }
  }
  }

Supongo que te gusta

Origin www.cnblogs.com/hite/p/12691814.html
Recomendado
Clasificación