Для эффективного случайного числа, скашиваемого последовательно к одному концу масштаба:
, например, в (непротестированном) PHP:
function weightedrand($min, $max, $gamma) {
$offset= $max-$min+1;
return floor($min+pow(lcg_value(), $gamma)*$offset);
}
echo(weightedrand(1, 10, 1.5));
HasValue
или HasValue
не будут работать в этом случае , потому что это позволит обрабатывать только одну строку.
Вы могли бы использовать HasValue
, но это означало бы, что ваше представление должно отображать всю таблицу при каждом изменении. >
Я могу ошибаться, но я думаю, что для таблиц это лучше всего использовать контролирующего докладчика вместо пассивного просмотра . Посмотрите на виджет PagingScrollTable в GWT Incubator :
public class PagingScrollTable<RowType> extends AbstractScrollTable implements
HasTableDefinition<RowType>, ... {
...
TableModel<RowType> getTableModel()
...
}
Для PagingScrollTable
используется MutableTableModel
как реализация TableModel
.
MutableTableModel
, в свою очередь, реализует следующие интерфейсы:
HasRowCountChangeHandlers
, HasRowInsertion9Handlers
HasRowRemovalHandlers
, HasRowValueChangeHandlers
PagingScrollTable
регистрируется в качестве слушателя на MutableTableModel
и поэтому получает очень подробные уведомления об обновлениях. Полученная реализация должна быть очень производительной.
это обсуждение действительно приводит к разрешению аналогичного вопроса:
http://groups.google.com/group/google-web-toolkit/browse_thread/thread/4887a7565d05f349? tvc = 2
Это может быть очень интересная запись в блоге:
http://www.draconianoverlord.com/2010/03/31/gwt-mvp-tables.html