public BorderPane GetKeyOneTableView(final String dbPath,final String tableName,final String keyTab,final String andCondition){
final BorderPane borderPanel = new BorderPane();
TableView<Object> table= new TableView<Object>();
final String beanPackageName= ObjectViewService.Instence().GetUseBeanByTableName(tableName);
final List<String> lstKeyTab= ObjectViewFileReader.GetKeyOneListByTableName(tableName, keyTab);
final Map<String,String> proAndColumnName = ObjectViewFileReader.GetProAndColumnNameWithKey(tableName, keyTab);
Map<String,String> proAndDisplayName = ObjectViewFileReader.GetKeyListNameAndDisplayName(tableName, keyTab);
String sql= GetSqlByKeyAndTableName(lstKeyTab,tableName,proAndColumnName,andCondition,true);
List<Object> lstObj= ObjectViewService.Instence().GetObjLstByResultSetAndBeanPackageName(dbPath, sql, beanPackageName, lstKeyTab, proAndColumnName);
table.setItems((ObservableList<Object>)lstObj);
borderPanel.setLeft(GetGridLeftTable(lstKeyTab,beanPackageName,table,proAndDisplayName));
borderPanel.setRight(new GridPane());
table.getFocusModel().focusedItemProperty().addListener(new ChangeListener<Object>() {
public void changed(ObservableValue<? extends Object> arg0,
Object oldObj, Object newObj) {
String nextKeyTap=ObjectViewFileReader.GetNextKeyTabByThisOne(tableName, keyTab);
String addCondition=ObjectViewService.Instence().GetConditonByObj(newObj ,lstKeyTab,proAndColumnName, beanPackageName);
if(!"".equals(nextKeyTap)){
BorderPane tempBorderPanel= GetKeyOneTableView(dbPath,tableName,nextKeyTap,andCondition+addCondition);
borderPanel.setCenter(tempBorderPanel);
}
else{
GridPane grid = GetCenterGridPane(tableName,dbPath,beanPackageName,andCondition+addCondition);
grid.setHgap(40);
grid.setVgap(20);
grid.setPadding(new Insets(20, 5, 20, 50));
SetBottomTableView(tableName,dbPath,beanPackageName,andCondition+addCondition);
borderPanel.setCenter(grid);
}
}
});
if(!lstObj.isEmpty()&&lstObj.size()>0){
table.getSelectionModel().select(0); //Select the first line by default.
}
return borderPanel;
}
final BorderPane borderPanel = new BorderPane();
TableView<Object> table= new TableView<Object>();
final String beanPackageName= ObjectViewService.Instence().GetUseBeanByTableName(tableName);
final List<String> lstKeyTab= ObjectViewFileReader.GetKeyOneListByTableName(tableName, keyTab);
final Map<String,String> proAndColumnName = ObjectViewFileReader.GetProAndColumnNameWithKey(tableName, keyTab);
Map<String,String> proAndDisplayName = ObjectViewFileReader.GetKeyListNameAndDisplayName(tableName, keyTab);
String sql= GetSqlByKeyAndTableName(lstKeyTab,tableName,proAndColumnName,andCondition,true);
List<Object> lstObj= ObjectViewService.Instence().GetObjLstByResultSetAndBeanPackageName(dbPath, sql, beanPackageName, lstKeyTab, proAndColumnName);
table.setItems((ObservableList<Object>)lstObj);
borderPanel.setLeft(GetGridLeftTable(lstKeyTab,beanPackageName,table,proAndDisplayName));
borderPanel.setRight(new GridPane());
table.getFocusModel().focusedItemProperty().addListener(new ChangeListener<Object>() {
public void changed(ObservableValue<? extends Object> arg0,
Object oldObj, Object newObj) {
String nextKeyTap=ObjectViewFileReader.GetNextKeyTabByThisOne(tableName, keyTab);
String addCondition=ObjectViewService.Instence().GetConditonByObj(newObj ,lstKeyTab,proAndColumnName, beanPackageName);
if(!"".equals(nextKeyTap)){
BorderPane tempBorderPanel= GetKeyOneTableView(dbPath,tableName,nextKeyTap,andCondition+addCondition);
borderPanel.setCenter(tempBorderPanel);
}
else{
GridPane grid = GetCenterGridPane(tableName,dbPath,beanPackageName,andCondition+addCondition);
grid.setHgap(40);
grid.setVgap(20);
grid.setPadding(new Insets(20, 5, 20, 50));
SetBottomTableView(tableName,dbPath,beanPackageName,andCondition+addCondition);
borderPanel.setCenter(grid);
}
}
});
if(!lstObj.isEmpty()&&lstObj.size()>0){
table.getSelectionModel().select(0); //Select the first line by default.
}
return borderPanel;
}