我正在尝试使用一个表来显示用户输入的数据以及编辑数据.我已经弄清楚如何用文本来做这件事(也就是说,他们可以编辑表中某些东西的名字),但是我不能让它与选择单元格一起使用.
如果选择单元格中的项目是预定义的,它可以正常工作,但在创建单元格后,我无法动态更新单元格中的项目以包含新内容.
为了解释更多,我有一个"类型"列.用户使用给定类型将项目输入到表中,但也可以在以后添加新类型.当他们点击类型列中的项目时,我希望下拉框包含他们输入的所有新类型,但我不知道如何完成此操作.
这是我到目前为止的代码(不会像我想要的那样更新).在用户输入新类型后,record.getTypeList()将包含其他条目.
SelectionCell editTypeComboBox = new SelectionCell(record.getTypeList());
Column<Assignment, String> typeColumn = new Column<Assignment, String>(editTypeComboBox) {
@Override
public String getValue(Assignment object) {
return object.getType();
}
};
typeColumn.setFieldUpdater(new FieldUpdater<Assignment, String>() {
@Override
public void update(int index, Assignment object, String value) {
int row = index;
String newType = value;
record.editAssignType(row, newType);
updateClassGradeLabel();
log.info("Set type to "
+ value);
cellTable.redraw();
}
});
cellTable.addColumn(typeColumn, "Type");
Run Code Online (Sandbox Code Playgroud)
编辑: 感谢Peter Knego敌人帮助我解决这个问题.这是修改后的DynamicSelectionCell类,如果有兴趣的话:
/*
* Copyright 2010 Google Inc.
*
* Licensed under the Apache License, Version …Run Code Online (Sandbox Code Playgroud) 我正在尝试为随机数生成器编写停车场测试的实现.以下是我获取测试信息的来源:英特尔数学库文档和本文第4页以及此处列出的概率密度的phi函数.
我在C#中编写了一个测试实现.它使用100x100网格,其值最初设置为null.然后我使用随机数生成器为x和y生成随机整数.如果网格及其邻居的索引为空,则该索引设置为1.否则,没有任何反应,因为存在"崩溃".
我使用C#System.Random生成器运行它.我不相信结果是正确的,因为我总是得到非常接近3079点停放,这比我应该得到的平均值短约500.它的p值也为2.21829146215425E-90.
我的代码如下.有没有人有这方面的经验,或者任何人都可以看到我在实施中可能做错的事情?任何帮助将不胜感激.
private void RunParkingLotTest()
{
points = new int?[100,100];
int parked = 0;
for (int i = 0; i < 12000; i++)
{
int x = random.Next(100);
int y = random.Next(100);
if (IsSafeToPark(x, y))
{
points[x, y] = 1;
parked++;
}
}
Console.WriteLine("Parked: " + parked + "\nP value: " + PhiFunction((parked-3523)/21.9));
}
private bool IsSafeToPark(int x, int y)
{
return PointIsEmpty(x, y)
&& LeftOfPointIsEmpty(x, y)
&& RightOfPointIsEmpty(x, y)
&& BelowPointIsEmpty(x, …Run Code Online (Sandbox Code Playgroud)