Delphi & amp; apos; s DBGrid es uno de los componentes con conocimiento de DB más utilizados en aplicaciones relacionadas con bases de datos. Su objetivo principal es permitir que los usuarios de su aplicación y amplificadores manipulen registros de un conjunto de datos en una cuadrícula tabular.
Una de las características menos conocidas del componente DBGrid es que se puede configurar para permitir la selección de múltiples filas. Lo que esto significa es que sus usuarios pueden tener la capacidad de seleccionar múltiples registros (filas) del conjunto de datos conectado a la cuadrícula.
Permitir múltiples selecciones
Para habilitar la selección múltiple, solo necesita establecer el elemento dgMultiSelect en & amp; quot; True & amp; quot; en la propiedad Opciones . Cuándo dgMultiSelect es & amp; quot; True, & amp; quot; los usuarios pueden seleccionar varias filas en una cuadrícula utilizando las siguientes técnicas:
Video destacado
- Ctrl + Mouse click
- Mayús + Teclas de flecha
Las filas / registros seleccionados se representan como marcadores y se almacenan en la propiedad grid & amp; apos; s SelectedRows .
Tenga en cuenta que SelectedRows solo es útil cuando la propiedad Opciones está configurada en & amp; quot; True & amp; quot; para ambos dgMultiSelect (tixb_18) . Por otro lado, cuando se usa dgRowSelect (cuando no se pueden seleccionar celdas individuales), el usuario ganó & amp; apos; t podrá editar registros directamente a través de la cuadrícula y, y dgEditing se establece automáticamente en & amp; quot; Falso.& amp; quot;
La propiedad SelectedRows es un objeto de tipo TBookmarkList . Podemos usar la propiedad SelectedRows para, por ejemplo:
- Obtenga el número de filas seleccionadas
- Borrar la selección (no seleccionar)
- Eliminar todos los registros seleccionados
- Compruebe si se selecciona un registro en particular
Para establecer dgMultiSelect en & amp; quot; True, & amp; quot; puede usar el Object Inspector en el momento del diseño o usar un comando como este en el tiempo de ejecución:
& lt; pre & gt; DBGrid1.Opciones: = DBGrid1.Options + [dgMultiSelect]; & lt; / pre & gt ;
Ejemplo de selección múltiple
Una buena situación en la que usar dgMultiSelect puede ser cuando necesita una opción para seleccionar registros aleatorios o si necesita la suma de los valores de los campos seleccionados.& amp; amp; nbsp;
El siguiente ejemplo utiliza componentes ADO ( AdoQuery conectados a ADOConnection y DBGrid conectados a AdoQuery sobre DataSource (.
El código utiliza múltiples selecciones para obtener la suma de los valores en & amp; quot; Tamaño y amp; quot; campo. Use este código de muestra si desea seleccionar el DBGrid completo:
& lt; pre & gt; procedimiento TForm1.btnDoSumClick (Enviador: TObject); & lt; br & gt ;
var & lt; br & gt ;
i: Integer; & lt; br & gt ;
suma: individual; & lt; br & gt ;
beginif DBGrid1.SelectedRows.Count & amp; gt; 0 luego comience & lt; br & gt ;
suma: = 0; & lt; br & gt ;
con DBGrid1.DataSource.DataSet dobeginfor i: = 0 a DBGrid1.SelectedRows.Count-1 (tixgin
GotoBookmark (Pointer (DBGrid1.SelectedRows.Items [i])); & lt; br & gt ;
suma: = suma + AdoQuery1.FieldByName (& amp; apos; Size & amp; apos;). AsFloat; & lt; br & gt ;
final ; & lt; br & gt ;
final ; & lt; br & gt ;
edSizeSum.Text: = FloatToStr (suma); & lt; br & gt ;
final & lt; br & gt ;
final ; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & gt; & gt; & br & gt; & gt; & gt; & gt; & gt; & gt;
& amp; # x203A; Informática