• Viernes 8 de Noviembre de 2024, 20:44

Autor Tema:  Marcar Linea En Datagridview  (Leído 5383 veces)

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Marcar Linea En Datagridview
« en: Miércoles 7 de Mayo de 2008, 15:03 »
0
que tal, estoy programando con VB 2005, y quisiera poder marcar toda una fila en el DataGridView.

con el 2003, yo hacia:

Código: Text
  1.  
  2.     Private Sub DataGrid1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseUp
  3.  
  4.         Dim pt = New Point(e.X, e.Y)
  5.         Dim hti As DataGrid.HitTestInfo = DataGrid1.HitTest(pt)
  6.  
  7.         If hti.Type = DataGrid.HitTestType.Cell Then
  8.             DataGrid1.CurrentCell = New DataGridCell(hti.Row, hti.Column)
  9.             DataGrid1.Select(hti.Row)
  10.         End If
  11.  
  12.     End Sub
  13.  
  14.  

ahora con el 2005, solo cambio el DataGrid por el DataGridView.

me sale un mensaje de error en esta linea:

DataGrid1.HitTest(pt) --//-- no se ha especicado ningun argumento para el parametro.

Gracias por la colaboración.
Sagma

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Marcar Linea En Datagridview
« Respuesta #1 en: Miércoles 7 de Mayo de 2008, 15:30 »
0
Esta es una forma:

1) Necesitás cambiar el valor de la propiedad "SelectionMode" del DataGridView a "FullRowSelect"

2) En C#, la selección la hago de esta manera:
Código: Text
  1. DataGridView1.CurrentCell = DataGridView1.Rows[filaASeleccionar].Cells[0];
  2.  

Supongo que en VB.NET será algo así:

Código: Text
  1. DataGridView1.CurrentCell = DataGridView1.Rows(filaASeleccionar).Cells(0)
  2.  

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Marcar Linea En Datagridview
« Respuesta #2 en: Jueves 8 de Mayo de 2008, 20:46 »
0
gracias mi querido Mollense:

pero fijate encontre este ejemplo y he aumentado algunas cosas y sale de perrilas, como lo quiero:

Código: Text
  1.  
  2.    Private Sub StyleDataGridView()
  3.         Try
  4.             With DataGridView1  'o el nombre de tu grilla
  5.  
  6.                 'Color general de la grilla
  7.                 .DefaultCellStyle.BackColor = Color.LightSteelBlue
  8.  
  9.                 'Color de celdas alternadas
  10.                 .AlternatingRowsDefaultCellStyle.BackColor = Color.White
  11.  
  12.                 'Activacion de autosize del ancho de columnas
  13.                 '.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize
  14.                 '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
  15.  
  16.                 'Estilo y color de las Columnas encabezado
  17.                 .ColumnHeadersDefaultCellStyle.BackColor = Color.Navy
  18.                 .ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  19.                 .ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None
  20.                 .ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
  21.                 '.SortOrder.Non = True
  22.  
  23.                 'Estilo y color de las Filas Encabezado
  24.                 .RowHeadersDefaultCellStyle.BackColor = Color.Navy
  25.                 .RowHeadersDefaultCellStyle.ForeColor = Color.White
  26.                 .RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None
  27.                 .RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader
  28.  
  29.                 'Seleccionando toda la fila
  30.                 .SelectionMode = DataGridViewSelectionMode.FullRowSelect
  31.  
  32.                 'Color de fila seleccionada
  33.                 .DefaultCellStyle.SelectionBackColor = Color.Cyan
  34.                 .DefaultCellStyle.SelectionForeColor = Color.Red
  35.  
  36.                 'Color de la Fila Encabezado Seleccionada
  37.                 .RowHeadersDefaultCellStyle.SelectionBackColor = Color.Goldenrod
  38.                 .RowHeadersDefaultCellStyle.SelectionForeColor = Color.White
  39.  
  40.                 'Propiedades del DataGridView
  41.                 .EnableHeadersVisualStyles = False
  42.                 .AllowUserToAddRows = False 'El usuario no puede adicionar una fila
  43.                 '.AllowUserToResizeRows = False 'El usuario no podra ajustar en ancho de la fila
  44.                 .MultiSelect = False 'El usuario no puede seleccionar mas de una fila
  45.                 .ReadOnly = True 'Toda la grilla es de solo lectura, no es editable.
  46.                 'establecer el puntero en una fila, en este caso estara en la fila 2
  47.                 .CurrentCell = Me.DataGridView1.Item(0, 1)
  48.                 .Rows(1).Selected = True
  49.  
  50.                 'Color general de la grilla
  51.                 .DefaultCellStyle.BackColor = Color.Yellow
  52.  
  53.                 'Color de celdas alternadas
  54.                 .AlternatingRowsDefaultCellStyle.BackColor = Color.White
  55.  
  56.                 'La propiedad defaultCellStyle.BackColor, determina que toda la grilla
  57.                 'sea de color LigthSteelBlue y la  propiedad
  58.                 'AlternatingRowsDefaultCellSyle.BackColor, hace q intercale el color
  59.                 'WHite por cada celda impar, haciendo q la primera sea SteelBlue, luego
  60.                 'White, Luego SteelBlue, White, y asi sucesivamente.
  61.  
  62.                 .Columns("vtaclicorr").HeaderText = "Codigo" & vbCrLf & "esto va abajo"
  63.                 .Columns("vtaclinomb").HeaderText = "Nombres"
  64.                 .Columns("vtacliapel").HeaderText = "Apellidos"
  65.                 .Columns("vtaclitelf").HeaderText = "Telefono"
  66.  
  67.                 .Columns("vtaclicorr").Width = 50
  68.                 .Columns("vtaclinomb").Width = 250
  69.                 .Columns("vtacliapel").Width = 250
  70.                 .Columns("vtaclitelf").Width = 100
  71.             End With
  72.         Catch ex As Exception
  73.             Throw
  74.         End Try
  75.     End Sub
  76.  
  77.  

gracias.  :comp:
Sagma