CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Marcar Linea En Datagridview
(1/1)
Sagma:
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 --- Private Sub DataGrid1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseUp Dim pt = New Point(e.X, e.Y) Dim hti As DataGrid.HitTestInfo = DataGrid1.HitTest(pt) If hti.Type = DataGrid.HitTestType.Cell Then DataGrid1.CurrentCell = New DataGridCell(hti.Row, hti.Column) DataGrid1.Select(hti.Row) End If End Sub
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.
Mollense:
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 ---DataGridView1.CurrentCell = DataGridView1.Rows[filaASeleccionar].Cells[0];
Supongo que en VB.NET será algo así:
--- Código: Text ---DataGridView1.CurrentCell = DataGridView1.Rows(filaASeleccionar).Cells(0)
Un saludo
Sagma:
gracias mi querido Mollense:
pero fijate encontre este ejemplo y he aumentado algunas cosas y sale de perrilas, como lo quiero:
--- Código: Text --- Private Sub StyleDataGridView() Try With DataGridView1 'o el nombre de tu grilla 'Color general de la grilla .DefaultCellStyle.BackColor = Color.LightSteelBlue 'Color de celdas alternadas .AlternatingRowsDefaultCellStyle.BackColor = Color.White 'Activacion de autosize del ancho de columnas '.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells 'Estilo y color de las Columnas encabezado .ColumnHeadersDefaultCellStyle.BackColor = Color.Navy .ColumnHeadersDefaultCellStyle.ForeColor = Color.White .ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None .ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing '.SortOrder.Non = True 'Estilo y color de las Filas Encabezado .RowHeadersDefaultCellStyle.BackColor = Color.Navy .RowHeadersDefaultCellStyle.ForeColor = Color.White .RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None .RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader 'Seleccionando toda la fila .SelectionMode = DataGridViewSelectionMode.FullRowSelect 'Color de fila seleccionada .DefaultCellStyle.SelectionBackColor = Color.Cyan .DefaultCellStyle.SelectionForeColor = Color.Red 'Color de la Fila Encabezado Seleccionada .RowHeadersDefaultCellStyle.SelectionBackColor = Color.Goldenrod .RowHeadersDefaultCellStyle.SelectionForeColor = Color.White 'Propiedades del DataGridView .EnableHeadersVisualStyles = False .AllowUserToAddRows = False 'El usuario no puede adicionar una fila '.AllowUserToResizeRows = False 'El usuario no podra ajustar en ancho de la fila .MultiSelect = False 'El usuario no puede seleccionar mas de una fila .ReadOnly = True 'Toda la grilla es de solo lectura, no es editable. 'establecer el puntero en una fila, en este caso estara en la fila 2 .CurrentCell = Me.DataGridView1.Item(0, 1) .Rows(1).Selected = True 'Color general de la grilla .DefaultCellStyle.BackColor = Color.Yellow 'Color de celdas alternadas .AlternatingRowsDefaultCellStyle.BackColor = Color.White 'La propiedad defaultCellStyle.BackColor, determina que toda la grilla 'sea de color LigthSteelBlue y la propiedad 'AlternatingRowsDefaultCellSyle.BackColor, hace q intercale el color 'WHite por cada celda impar, haciendo q la primera sea SteelBlue, luego 'White, Luego SteelBlue, White, y asi sucesivamente. .Columns("vtaclicorr").HeaderText = "Codigo" & vbCrLf & "esto va abajo" .Columns("vtaclinomb").HeaderText = "Nombres" .Columns("vtacliapel").HeaderText = "Apellidos" .Columns("vtaclitelf").HeaderText = "Telefono" .Columns("vtaclicorr").Width = 50 .Columns("vtaclinomb").Width = 250 .Columns("vtacliapel").Width = 250 .Columns("vtaclitelf").Width = 100 End With Catch ex As Exception Throw End Try End Sub
gracias. :comp:
Navegación
Ir a la versión completa