vista una tablas tabla sobre sirve quitar que privilegios permisos para esquema datos dar .net winforms datagridview user-interface

.net - tablas - Deshabilitar selección de filas en una vista de tabla de datos



privilegios sobre un esquema oracle (2)

Deseo desactivar la selección de ciertas filas en una vista de tabla de datos.

Debe ser posible eliminar la propiedad de selección para una o más filas de datagridview en una vista de cuadrícula de datos que se muestra en un formulario de win. El objetivo es que el usuario no pueda seleccionar ciertas filas. (dependiendo de una condición)

Gracias,


Private Sub dgvSomeDataGridView_SelectionChanged(sender As Object, e As System.EventArgs) Handles dgvSomeDataGridView.SelectionChanged dgvSomeDataGridView.ClearSelection() End Sub


Si SelectionMode es FullRowSelect, tendrá que anular SetSelectedRowCore para ese DataGridView y no llamar a la base SetSelectedRowCore para las filas que no desee seleccionar.

Si SelectionMode no es FullRowSelect, querrás anular SetSelectedCellCore (y no llamar a SetSelectedCellCore base para las filas que no quieras que se seleccionen), ya que SetSelectedRowCore solo se activará si haces clic en el encabezado de la fila y no en una celda individual.

Aquí hay un ejemplo:

public class MyDataGridView : DataGridView { protected override void SetSelectedRowCore(int rowIndex, bool selected) { if (selected && WantRowSelection(rowIndex)) { base.SetSelectedRowCore(rowIndex, selected); } } protected virtual void SetSelectedCellCore(int columnIndex, int rowIndex, bool selected) { if (selected && WantRowSelection(rowIndex)) { base.SetSelectedRowCore(rowIndex, selected); } } bool WantRowSelection(int rowIndex) { //return true if you want the row to be selectable, false otherwise } }

Si está utilizando WinForms, abra crackeado su designer.cs para el formulario correspondiente, y cambie la declaración de su instancia DataGridView para usar esta nueva clase en lugar de DataGridView, y también reemplace this.blahblahblah = new System.Windows.Forms. DataGridView () para apuntar a la nueva clase.