表格视图中的字段为空

时间:2018-11-06 21:36:20

标签: javafx

您好,我是在SQL SERVER中创建的Tableview中显示数据库中的某些数据,因此在表视图中显示该数据的过程中,一些数据正在显示,我有一些{ {1}}和Strings的值显示正常,但其他一些则不行,这也是罕见的IntString

这是我用于创建表的代码,我正尝试为其显示数据:

Interger

这是FXML档案文件CREATE TABLE AUDITORIAC( ID INT IDENTITY(1,1) NOT NULL, FECHA_RECIBIDO DATE NOT NULL, MES VARCHAR(50) NOT NULL, NIT VARCHAR(50) NOT NULL, ENTIDAD VARCHAR(50) NOT NULL, NUMERO_FACTURA INT NOT NULL, VALOR_FACTURA BIGINT NOT NULL, TIPO_OBJECION VARCHAR (50) NOT NULL, FECHA_ENTREGA DATE NOT NULL, USUARIO VARCHAR(50) NOT NULL, OBSERVACIONES VARCHAR(50) NOT NULL, PRIMARY KEY(ID) ) 中的FXML代码,其中包含表格视图。

Vista.fxml

这是我的<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import java.lang.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.layout.AnchorPane?> <AnchorPane prefHeight="497.0" prefWidth="943.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.ConexionController"> <children> <Pane layoutY="1.0" prefHeight="734.0" prefWidth="1523.0"> <children> <Button fx:id="btn" layoutX="159.0" layoutY="63.0" mnemonicParsing="false" onAction="#cargarconexion" prefHeight="46.0" prefWidth="117.0" text="Prueba Conexion" /> <Button fx:id="mtn" layoutX="20.0" layoutY="552.0" mnemonicParsing="false" onAction="#cargarregistro" prefHeight="46.0" prefWidth="150.0" text="Grabar Registro" /> <Button fx:id="lmp" layoutX="20.0" layoutY="624.0" mnemonicParsing="false" onAction="#borrarcasillatexto" prefHeight="25.0" prefWidth="150.0" text="Limpiar Texto" /> <Button fx:id="mts" layoutX="19.0" layoutY="63.0" mnemonicParsing="false" onAction="#mostrartodo" prefHeight="46.0" prefWidth="117.0" text="Mostrar" /> <TextField fx:id="buscarfactura" layoutX="75.0" layoutY="692.0" prefHeight="25.0" prefWidth="149.0" /> <Button fx:id="bqd" layoutX="246.0" layoutY="692.0" mnemonicParsing="false" onAction="#buscanm" prefHeight="25.0" prefWidth="242.0" text="BUSCAR POR NUMERO DE FACTURA" /> <Label layoutX="35.0" layoutY="245.0" prefHeight="17.0" prefWidth="55.0" text="MES" /> <Button fx:id="botonborrar" layoutX="674.0" layoutY="692.0" mnemonicParsing="false" onAction="#borraregistroid" prefHeight="25.0" prefWidth="155.0" text="BORRAR REGISTRO" /> <TextField fx:id="borrar" layoutX="508.0" layoutY="692.0" /> <DatePicker fx:id="mifecha" layoutX="169.0" layoutY="178.0" prefHeight="25.0" prefWidth="150.0" /> <Label layoutX="32.0" layoutY="182.0" prefHeight="17.0" prefWidth="117.0" text="FECHA RECIBIDO" /> <MenuBar fx:id="menucombo" layoutX="3.0" layoutY="3.0"> <menus> <Menu mnemonicParsing="false" text="Agregar"> <items> <MenuItem mnemonicParsing="false" onAction="#cargavistauno" text="Nueva Entidad" /> </items> </Menu> </menus> </MenuBar> <MenuBar fx:id="menudos" layoutX="77.0" layoutY="3.0"> <menus> <Menu mnemonicParsing="false" text="Actualizar"> <items> <MenuItem mnemonicParsing="false" onAction="#vistados" text="Actualiza Datos" /> </items> </Menu> </menus> </MenuBar> <Label layoutX="35.0" layoutY="371.0" prefHeight="17.0" prefWidth="29.0" text="NIT" /> <Label layoutX="35.0" layoutY="319.0" prefHeight="17.0" prefWidth="84.0" text="ENTIDAD" /> <Label layoutX="30.0" layoutY="430.0" prefHeight="17.0" prefWidth="131.0" text="NUMERO DE FACTURA" /> <TextField fx:id="numerofactura" layoutX="170.0" layoutY="426.0" /> <Label layoutX="350.0" layoutY="182.0" prefHeight="17.0" prefWidth="96.0" text="VALOR GLOSA" /> <TextField fx:id="valorglosa" layoutX="474.0" layoutY="178.0" /> <Label layoutX="347.0" layoutY="245.0" text="TIPO DE OBJECION" /> <DatePicker fx:id="mifent" layoutX="475.0" layoutY="306.0" prefHeight="25.0" prefWidth="150.0" /> <Label layoutX="350.0" layoutY="310.0" text="FECHA DE ENTREGA" /> <TextField fx:id="usuario" layoutX="473.0" layoutY="367.0" prefHeight="25.0" prefWidth="155.0" /> <Label layoutX="350.0" layoutY="371.0" prefHeight="17.0" prefWidth="69.0" text="USUARIO" /> <Label layoutX="350.0" layoutY="430.0" prefHeight="17.0" prefWidth="96.0" text="OBSERVACIÓN" /> <TextField fx:id="observacion" layoutX="471.0" layoutY="426.0" prefHeight="25.0" prefWidth="155.0" /> <AnchorPane layoutX="651.0" layoutY="76.0" minHeight="0.0" minWidth="0.0" prefHeight="548.0" prefWidth="853.0"> <children> <TableView fx:id="tablaglosa" prefHeight="548.0" prefWidth="853.0"> <columns> <TableColumn fx:id="idg" prefWidth="75.0" text="ID" /> <TableColumn fx:id="fecharec" prefWidth="110.0" text="FECHA RECIBIDO" /> <TableColumn fx:id="mmes" prefWidth="75.0" text="MES" /> <TableColumn fx:id="minit" prefWidth="75.0" text="NIT" /> <TableColumn fx:id="mientidad" prefWidth="75.0" text="ENTIDAD" /> <TableColumn fx:id="numfac" prefWidth="103.0" text="N° FACTURA" /> <TableColumn fx:id="valglosa" prefWidth="109.0" text="VALOR GLOSA" /> <TableColumn fx:id="tipoobj" prefWidth="96.0" text="TIPO OBJECION" /> <TableColumn fx:id="fechaent" prefWidth="101.0" text="FECHA ENTREGA" /> <TableColumn fx:id="usu" prefWidth="75.0" text="USUARIO" /> <TableColumn fx:id="obser" prefWidth="110.0" text="OBSERVACION" /> </columns> </TableView> </children></AnchorPane> <ComboBox fx:id="mes" layoutX="169.0" layoutY="241.0" onAction="#llenadocombobox" prefWidth="150.0" /> <ComboBox fx:id="entidad" layoutX="169.0" layoutY="315.0" onAction="#llenadocombobox2" prefWidth="150.0" /> <ComboBox fx:id="nit" layoutX="171.0" layoutY="367.0" onAction="#llenadocombobox3" prefWidth="150.0" /> <ComboBox fx:id="tipoobjecion" layoutX="473.0" layoutY="241.0" onAction="#llenadocombobox4" prefWidth="150.0" /> </children> </Pane> </children> </AnchorPane> 代码中的一部分:

ConexionController

ConexionController中的方法用于在表视图中显示数据库数据。

public void initialize(URL arg0, ResourceBundle arg1) {
            idg.setCellValueFactory(new PropertyValueFactory <Glosa,Integer>("idglosa"));
            mmes.setCellValueFactory(new PropertyValueFactory <Glosa,String>("mes"));
            minit.setCellValueFactory(new PropertyValueFactory <Glosa,String>("nit"));
            mientidad.setCellValueFactory(new PropertyValueFactory <Glosa,String>("entidad"));
            numfac.setCellValueFactory(new PropertyValueFactory <Glosa,Integer>("numerofactura"));
            valglosa.setCellValueFactory(new PropertyValueFactory <Glosa,Integer>("valorglosa"));
            tipoobj.setCellValueFactory(new PropertyValueFactory <Glosa,String>("tipoobjecion"));
            usu.setCellValueFactory(new PropertyValueFactory <Glosa,String>("usuario"));
            obser.setCellValueFactory(new PropertyValueFactory <Glosa,String>("observacion"));  
            fecharec.setCellValueFactory(cellData -> cellData.getValue().fechaRecibidoProperty());
            fechaent.setCellValueFactory(cellData -> cellData.getValue().fechaEntregaAuditoriaProperty());

             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");

             fecharec.setCellFactory(column -> {
                 return new TableCell<Glosa, LocalDate>() {
                     @Override
                     protected void updateItem(LocalDate item, boolean empty) {
                         super.updateItem(item, empty);

                         if (item == null || empty) {
                             setText(null);
                         } else {
                             setText(formatter.format(item));

                         }
                     }
                 };
             });


             fechaent.setCellFactory(column -> {
                 return new TableCell<Glosa, LocalDate>() {
                     @Override
                     protected void updateItem(LocalDate item, boolean empty) {
                         super.updateItem(item, empty);

                         if (item == null || empty) {
                             setText(null);
                         } else {
                             setText(formatter.format(item));

                         }
                     }
                 };
             });



             seleccionaregistros();
             busquedanfactura();
             llenadocombobox();
             llenadocombobox2();
             llenadocombobox3();
             llenadocombobox4();
        }

Glosa类,在这个类中,我正在传递表视图的数据。

打包申请;

public void seleccionaregistros() {
        ObservableList <Glosa> data =FXCollections.observableArrayList();
          Connection conn=null;{
              try {

                  conn=DriverManager.getConnection("jdbc:sqlserver://DESKTOP-4JA6SFR:1433;databaseName=GLOSASNINO", "sa", "123");
                  Statement mostrar=conn.createStatement();
                  ResultSet rs;
                  rs= mostrar.executeQuery("select * from auditoriac");


                  while ( rs.next() ) 
                  {
                     data.add(new Glosa(
                             rs.getInt(1),
                             rs.getDate(2).toLocalDate(),
                             rs.getString("mes"), 
                             rs.getString("nit"),
                             rs.getString("entidad"),
                             rs.getInt(6),
                             rs.getInt(7),
                             rs.getString("tipo_objecion"),
                             rs.getDate(9).toLocalDate(),
                             rs.getString("usuario"),
                             rs.getString("observaciones")
                             )
                             );
                     tablaglosa.setItems(data);
                  }

              } catch (SQLException e) {
                  e.printStackTrace();
              }

         }

    }

这是我的表视图的捕获。

empy fields in tableview

任何帮助都可以得到。

0 个答案:

没有答案