我正在使用JavaFx 2.2.我遇到的问题是我无法在TableView列中放置不同的组件.例如,我有两列
1)答案
2)AnswerType
如果AnswerType包含"Multiple Choice",则Answer Column中的相应单元格应显示ComboBox,否则它应显示TextField.
我在下面有一个代码示例,但它显示的是ComboBox或TextField,但不能同时显示同一列的不同单元格.
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Callback;
import javafx.scene.control.cell.ComboBoxTableCell;
public class TableCellWithMultipleComponent extends Application {
@SuppressWarnings("rawtypes")
TableColumn answerTypeCol;
@SuppressWarnings("rawtypes")
TableColumn answerCol;
ObservableList<String> namesChoiceList;
public static void main(String[] args) {
launch(args);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void start(final Stage primaryStage) {
primaryStage.setTitle("Table Cell With Multiple Components");
TableView<Person> table …
Run Code Online (Sandbox Code Playgroud) 是否可以利用第二个div来占用父div的可用空间而不指定手动宽度?
这是试用过的演示的小提琴.
.right_cnt {
display: table-cell;
background:#FFC;
}
Run Code Online (Sandbox Code Playgroud)
注意:我需要黄色的盒子来占据可用的空间.
我正在尝试将ComboBox放在表格单元格中,但我不能.代码是下一个:
private void cargaTablaDesglose() {
TableColumn<Map, String> column1 = new TableColumn<>(Desglose1);
TableColumn<Map, String> column2 = new TableColumn<>(Desglose2);
TableColumn<Map, String> column3 = new TableColumn<>(Desglose3);
column1.setCellValueFactory(new MapValueFactory(Desglose1));
column1.setMaxWidth(0);
column2.setCellValueFactory(new ComboBoxTableCell.forTableColumn(null));
column2.setPrefWidth(150);
column3.setCellValueFactory(new MapValueFactory(Desglose3));
column3.setPrefWidth(250);
if (CUOD.modifyData()) {
column2.setOnEditCommit((TableColumn.CellEditEvent<Map, String> t) -> {
actualizaObra(t.getRowValue(), t.getNewValue());
});
}
tablaDesglose.getItems().clear();
tablaDesglose.setEditable(true);
tablaDesglose.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
tablaDesglose.getSelectionModel().setCellSelectionEnabled(false);
tablaDesglose.getColumns().clear();
tablaDesglose.getColumns().addAll(column1, column2, column3);
Callback<TableColumn<Map, String>, TableCell<Map, String>> cellFactoryMap
= CUCF.getFactoryMap();
column1.setCellFactory(cellFactoryMap);
column2.setCellFactory(cellFactoryMap);
column3.setCellFactory(cellFactoryMap);
}
Run Code Online (Sandbox Code Playgroud)
它说无法找到forCableColumn方法的ComboBoxTableCell
我在玩移动uitableviewcell,无论出于何种原因,
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingstyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleNone; //<-- bp set on it
}
Run Code Online (Sandbox Code Playgroud)
没有被调用(我已经在其上设置了一个断点)-因此表显示了delete选项,但我不希望这样。这是我的实现:
@implementation MoveItController
@synthesize mList;
- (IBAction)moveButton
{
[self.tableView setEditing:!self.tableView.editing animated:YES];
[self.navigationItem.rightBarButtonItem setTitle:(self.tableView.editing)? @"Done" : @"Move"];
}
- (void)viewDidLoad
{
if (mList == nil)
{
mList = [[NSMutableArray alloc] initWithObjects:@"$1", @"$2", @"$5", @"$10", @"$20", @"$50", @"$100", nil];
}
UIBarButtonItem *mvButton = [[UIBarButtonItem alloc]
initWithTitle:@"Move"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(moveButton)];
self.navigationItem.rightBarButtonItem = mvButton;
[mvButton release];
[super viewDidLoad];
}
// Table datasource methods
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的表:
<table> <tr class="none"><td>value</td><td>value</td></tr></table>
Run Code Online (Sandbox Code Playgroud)
然后我需要检查每一行中单元格的所有值.如果给定行的所有值都不相同,那么我需要将行的类从"none"更改为"active".有没有办法使用jQuery做到这一点?
我正在尝试向CheckBoxTableCells添加一个更改侦听器,但它似乎没有工作.我以CheckBoxes为例说明他们会以同样的方式工作.但是当我改变它的值时没有输出.我如何正确地将一个正确添加到checkboxtablecell?
当前代码:
tc.setCellFactory(new Callback<TableColumn<Trainee, Boolean>, TableCell<Trainee, Boolean>>() {
@Override
public TableCell<Trainee, Boolean> call(TableColumn<Trainee, Boolean> p) {
final CheckBoxTableCell ctCell = new CheckBoxTableCell<>();
ctCell.selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue ov, Boolean old_val, Boolean new_val) {
System.out.println(new_val);
}
});
return ctCell;
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个名为TransactionWrapper的类,我用它在我的应用程序中为TableView填充我的ObservableList.此包装器具有一个属性(枚举),指示它是提款还是存款.我需要达到这个目的来渲染/格式化金额单元格(根据交易的性质以红色或绿色显示)并且我找不到任何可以帮助我完成这场战斗的东西.
基本上我想要做的就是查看行并说出类型是否为提取,将文本颜色设置为红色,如果是存储颜色则为绿色......我希望有人可以帮我解决这个问题.正如我在其他地方发现的那样,我将使用setCellFactory在我的尝试下面发布.这种方法允许我格式化单元格及其显示方式,但问题出在updateItem函数内部,我可以得到我的事务类型的值.
amountCol.setCellFactory(new Callback<TableColumn<TransactionWrapper, String>, TableCell<TransactionWrapper, String>>()
{
@Override
public TableCell<TransactionWrapper, String> call(
TableColumn<TransactionWrapper, String> param)
{
return new TableCell<TransactionWrapper, String>()
{
@Override
protected void updateItem(String item, boolean empty)
{
if (!empty)
{
// should be something like (transaction.getType().equals(TransactionTypes.DEPOSIT) ? true : false;)
boolean isDeposit = true;
setText(item);
if(isDeposit) // should be if type is deposit
{
setTextFill(Color.GREEN);
}
else
{
setTextFill(Color.RED);
}
}
}
};
}
});
Run Code Online (Sandbox Code Playgroud)
以下是我如何设置我的专栏:
amountCol.setCellValueFactory(cellData -> cellData.getValue().getAmountString());
Run Code Online (Sandbox Code Playgroud)
这是一个名为TransactionWrapper的对象,其中包含:
private final StringProperty transactionTypeString;
private final StringProperty …
Run Code Online (Sandbox Code Playgroud) 我正在使用文知新的 bootstrap-table 模块。( http://bootstrap-table.wenzhixin.net.cn/ )
当我用 JSON 加载引导表时,该字段为空,如下所示:"MyField": null
我看到一个破折号或连字符 ( - ) 插入到空表格单元格中。关闭此功能的最佳方法是什么?
编辑:这里的例子https://jsfiddle.net/3k6qrswf/1/
<table id="table" class="table">
<thead>
<tr>
<th data-field="BookTitle">Title</th>
</tr>
</thead>
</table>
var testData = [
{"BookTitle": "abc"},
{"BookTitle": "def"},
{"BookTitle": null}
];
$('#table').bootstrapTable({
data: testData
});
Run Code Online (Sandbox Code Playgroud)
谢谢
看看这个jsFIDDLE样本
我想用CSS改变悬停状态的单元格背景颜色..它可以通过JavaScript实现,但我想用CSS做...加上我希望整个单元格充当链接如何做到这一点
如何为TableCell设置转换器以能够编辑Double属性?
<TableColumn fx:id="priceCol" text="Price">
<cellValueFactory>
<PropertyValueFactory property="price" />
</cellValueFactory>
<cellFactory>
<TextFieldTableCell fx:factory="forTableColumn">
<converter>
// ???
</converter>
</TextFieldTableCell>
</cellFactory>
</TableColumn>
Run Code Online (Sandbox Code Playgroud)
在哪里可以找到有关如何使用FXML设置此类文档的文档?到目前为止,这看起来确实令人困惑。
tablecell ×10
tableview ×5
javafx ×4
css ×2
html ×2
java ×2
tablecolumn ×2
tablerow ×2
combobox ×1
displaytag ×1
format ×1
html-table ×1
hyperlink ×1
iphone ×1
javafx-2 ×1
javafx-8 ×1
javascript ×1
jquery ×1
json ×1
listener ×1
null ×1
onhover ×1
uitableview ×1