У меня есть проект для категории и подкатегории. Я использую сетку для отображения категории, но у меня небольшая проблема, когда я нажимаю «Следующая» или «Предыдущая».категория теперь дает мне, когда я нажимаю следующий / предыдущий где-то 6 иногда 3 иногда 5
таблица базы данных в mysql:
CREATE TABLE mr_groupshow (
gr_srn INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
gr_name1 VARCHAR(30) NOT NULL,
gr_name2 VARCHAR(30) NOT NULL,
gr_status boolean,
gr_create_date TIMESTAMP
)
это мой код FXML:
<AnchorPane fx:id="anchor_groups" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="95.0" prefWidth="331.0" style="-fx-background-color: #0d6d7c; -fx-border-color: #0d6d7c;" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="285.0">
<children>
<GridPane fx:id="grid_groups" alignment="CENTER" gridLinesVisible="true" hgap="1.0" layoutX="44.0" maxHeight="-Infinity" prefHeight="96.0" style="-fx-background-color: b9e4e0;" styleClass="my-grid-groups" stylesheets="@mainmenu.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="43.0" AnchorPane.rightAnchor="44.0" AnchorPane.topAnchor="0.0">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" valignment="CENTER" vgrow="ALWAYS" />
</rowConstraints>
</GridPane>
<HBox layoutX="45.0" layoutY="6.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" visible="false" AnchorPane.bottomAnchor="1.0" AnchorPane.leftAnchor="44.0" AnchorPane.rightAnchor="44.0" AnchorPane.topAnchor="1.0" />
<Button fx:id="next_g" focusTraversable="false" layoutX="484.0" layoutY="2.0" mnemonicParsing="false" prefHeight="98.0" prefWidth="43.0" style="-fx-background-color: #2a97a1;" styleClass="addBobOk" stylesheets="@mainmenu.css" text="N" textFill="WHITE" AnchorPane.bottomAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<effect>
<DropShadow color="#0eb0f5" />
</effect>
</Button>
<Button fx:id="previous_g" focusTraversable="false" layoutY="2.0" mnemonicParsing="false" prefHeight="99.0" prefWidth="43.0" style="-fx-background-color: #2a97a1;" styleClass="addBobOk" stylesheets="@mainmenu.css" text="P" textFill="WHITE" AnchorPane.bottomAnchor="0.0" AnchorPane.topAnchor="0.0">
<effect>
<DropShadow color="#0eb0f5" />
</effect>
</Button>
</children>
</AnchorPane>
и это код для получения данных из mysql:
//connect DB to show groups in gridgroups
public int groupsview(int nw1, int pw1) {
int row = 0;
int col = 0;
grid_groups.getChildren().clear();
try {
// Statement
myStmt = con.createStatement();
// SQL query
rs = myStmt.executeQuery("SELECT * from mr_groupshow where gr_status=0 limit " + nw1 + "," + pw1 + "");
// Result processing
while (rs.next()) {
// String itm = rs.getString("it.itemname_1");
String grno = rs.getString("gr_srn");
String grp = rs.getString("gr_name2");
String img = rs.getString("gr_image");
if (col > 4) {
row++;
col = 0;
}
imageviewgroups(col, row, img);
gr_groups(col, row, grp);
gr_groups_id(col, row, grno);
col++;
}
System.out.println(myStmt);
//End of Code
//}
} catch (FileNotFoundException | SQLException exc) {
System.out.println(exc);
}
return pw1;
}
и счет для категории получения из базы данных:
//group count from db
public int groupcount1(int count) {
count = 0;
try {
// Statement
myStmt = con.createStatement();
// SQL query
rs = myStmt.executeQuery("SELECT * from mr_groupshow where gr_status = 0 ");
rs.last();
count = rs.getRow();
} catch (SQLException e) {
}
return count;
}
и код для нажатия следующей / предыдущей кнопки:
public void nextprevous(){
previous_g.setOnAction((ActionEvent e) -> {
int nc = 0;
int nc1 = groupcount1(nc++);
r2 = r1;
r2 = 0;
if (r1++ > 0) {
grid_groups.getChildren().remove(r2, r1);
groupsview(r2, r1);
}
});
next_g.setOnAction((ActionEvent e) -> {
int nc = 0;
int nc1 = groupcount1(nc);
r1 = r2;
r2 = r1;
if (r2++ < nc1++) {
grid_groups.getChildren().remove(r1, r2);
groupsview(r1, r2);
}
});
}
это изображение моей категории в моем проекте:
введите описание изображения здесь