Red de conocimiento informático - Computadora portátil - delphi 7 DBGrid implementa la actualización después de la selección desplegable

delphi 7 DBGrid implementa la actualización después de la selección desplegable

La siguiente es la lista desplegable de Cuando se usa Delphi para desarrollar un sistema de aplicación de base de datos y se usa la cuadrícula de datos DBGrid para ingresar datos, algunos campos solo permiten ciertas cadenas fijas, como archivo archivos Solo hay tres períodos de almacenamiento: "permanente", "a largo plazo" y "a corto plazo". ¿Puedo elegir de una lista desplegable para facilitar la entrada y evitar errores de entrada? También hay algunos campos, como el número de unidad en la base de datos de información del empleado (la información detallada de la unidad se almacena en otra base de datos de la unidad. Al ingresar y mostrar datos de los empleados, el número de unidad no se puede operar y reemplazar con uno más). ¿Uno intuitivo? ¿Qué pasa con los nombres de las unidades en la biblioteca de unidades? La respuesta es sí. El control de cuadrícula de datos DBGrid de Delphi admite la programación de listas desplegables y campos de búsqueda. Además, el proceso de programación es visual y no requiere escribir una sola línea de declaraciones.

1. Lista desplegable en DBGrid

Para implementar la lista desplegable en la cuadrícula DBGrid, configure la lista de cadenas PickList del campo en DBGrid y el valor del número de serie inicial. Filas desplegables. Tomando como ejemplo el campo de lugar de nacimiento (tipo cadena) en la base de datos de información del empleado, los pasos de diseño específicos son los siguientes:

1. Coloque objetos de control como Table1, DataSource1, DBGrid1, DBNavigator1 en el. formulario y configúrelo como se muestra en la siguiente tabla Propiedades de cada objeto:

---------------------- ------------ -

Configuración de propiedades del objeto

-------------------- ------------ ---------

Table1 Base de datos sy1

Tablezgk.dbf //Base de información del empleado

DataSource1DataSetTable1

DbGrid1DataSource DataSource1

DBNavigator1 DataSource Datasource1

-------------------- ------------ -----------

2. Haga doble clic en Tabla1, en la ventana emergente Form1.Table1, haga clic derecho para que aparezca el menú contextual, haga clic en el elemento del menú Agregar campos, después de seleccionar todos los campos, presione el botón Aceptar;

3. Modifique el atributo DisplayLabel del campo agregado en el paso 2. Tome el campo Table1ZGBH como ejemplo. Seleccione Table1ZGBH en la ventana del Inspector de objetos y modifique el atributo DisplayLabel= número de empleado.

4. Haga doble clic en DBGrid1. En la ventana emergente Editando DBGrid1.Columns, haga clic en el botón Agregar todos los campos para agregar todos los campos de la Tabla1.

5. En la ventana Edición de DBGrid1.Columns, seleccione la línea jg, cambie a la ventana Inspector de objetos y modifique su PickList.Strings a "Zhijiang City, Hubei (salto de línea) Beijing City (salto de línea). ) Ciudad de Pingdingshan, Henan (salto de línea) Ciudad de Deqing, Zhejiang"

6. Escriba la declaración en el evento Form1.Oncreate:

Table1.Open;

7. Ejecute con F9 Haga clic en el campo de lugar nativo de un registro con el mouse y aparecerá un botón a la derecha. Haga clic en este botón y aparecerá una lista desplegable, que incluye la cadena de cuatro líneas ingresada en el paso 5. , que se puede seleccionar con el ratón. Por supuesto, también puede ingresar una cadena que no esté en la lista desplegable.

2. Campo de búsqueda en DBGrid

El llamado campo de búsqueda significa que el valor de un campo clave en DBGrid proviene del campo correspondiente de otra base de datos. Al utilizar la tecnología de campos de búsqueda, no solo se pueden evitar errores de entrada de manera efectiva, sino que el método de visualización de DBGrid es más flexible. Los campos clave no se pueden mostrar, sino que se pueden mostrar los datos de otro campo correspondiente en la base de datos de origen.

---- Por ejemplo, mostramos y editamos información de los empleados en DBGrid, incluido el número de empleado, el nombre del empleado, el lugar de origen y el número de unidad, y el número de unidad proviene de otra tabla de base de datos: la unidad. base de datos Llame "número de unidad" a un campo clave. Si mostramos y editamos directamente el número de unidad, nos enfrentaremos a números muy poco intuitivos como 1, 2, 3, etc., y es fácil cometer errores durante la edición. Sin embargo, será muy intuitivo si se muestran y editan los nombres de unidades correspondientes en la biblioteca de unidades. Este es el beneficio de los campos de búsqueda compatibles con DBGrid.

La implementación del campo de búsqueda de DBGrid tampoco requiere ninguna declaración. Los pasos de diseño específicos son los siguientes:

1. Coloque Table1, Table2, DataSource1, DBGrid1, DBNavigator1 y otros objetos de control. el formulario Establece las propiedades de cada objeto según la siguiente tabla:

----------------------. ------ -----

Configuración de atributos de objeto

---------------------- ---- -------------

Tabla1 Base de datos sy1

Tablezgk.dbf //Base de información del empleado

Tabla2 DataBase sy1

Tabledwk.dbf //Base de información de la unidad

DataSource1DataSetTable1

DbGrid1DataSource DataSource1

DBNavigator1 DataSource Datasource1

--- ---------------------------------------

2. Haga doble clic en Tabla1. En la ventana emergente Form1.Table1, haga clic derecho para abrir el menú contextual, haga clic en el elemento de menú Agregar campos después de seleccionar todos los campos y presione el botón Aceptar.

3. Modifique el atributo DisplayLabel del campo agregado en el paso 2. Tome el campo Table1ZGBH como ejemplo. Seleccione Table1ZGBH en la ventana del Inspector de objetos y modifique el atributo DisplayLabel= número de empleado.

4. Establezca Table1DWBH.Visible=False.

5. En la ventana Form1.Table1, haga clic derecho para que aparezca el menú contextual, haga clic en el elemento del menú Nuevo campo, agregue un campo de búsqueda DWMC, establezca las propiedades correspondientes en la ventana emergente. y presione el botón OK para confirmar en la ventana del Inspector de objetos, establezca Table1DWMC.DisplayLabel= nombre de la unidad.

6. Escriba la declaración en el evento Form1.Oncreate:

Table1.Open;

7. Presione F9 para ejecutar, cuando el cursor se mueva a registro Al seleccionar el campo de nombre de la unidad, haga clic en el campo con el mouse y aparecerá una lista desplegable. Haga clic en la flecha hacia abajo a la derecha para realizar una selección en la lista desplegable. Se puede ver aquí que el contenido de la lista desplegable proviene de la base de datos de información de la unidad y no se puede ingresar otro contenido.

3. La diferencia entre listas desplegables y campos de búsqueda en DBGrid

Aunque las listas desplegables y los campos de búsqueda en DBGrid aparecen en forma de listas desplegables, existen Hay diferencias entre ellos.

1. Para la lista desplegable configurada con el atributo PickList, sus datos se ingresan manualmente. Aunque se pueden modificar en el programa, las características dinámicas obviamente no son tan buenas como las del campo de búsqueda directo. extrae datos de otra tabla de base de datos.

2. La lista desplegable configurada con el atributo PickList permite la entrada de datos que no pertenecen a la lista desplegable, pero solo se pueden ingresar los datos en los campos clave de la base de datos de origen. en el campo de búsqueda, lo que puede garantizar mejor la exactitud de los datos.

3. El diseño de la lista desplegable configurado con el atributo PickList es relativamente simple.