有没有可能取消选择一行而没有按住控制键,只能通过点击它?我的意思是,如果你点击一个已经选择的行,它应该取消选择,而不必按住控制键。Rowunselect没有按Ctrl +点击
4
A
回答
2
我与Primefaces 3.4.2测试: XHTML页面:
<script type="text/javascript">
function test(xhr, status, args){
if(args.unselecttest % 2 == 1){
stest.unselectAllRows();
}
}
</script>
<p:dataTable widgetVar="stest" selectionMode="single" selection="#{tabview.car}"
<p:ajax event="rowSelect" oncomplete="test(xhr, status, args);" />
豆:
private int count = 0;
public Car getCar() {
return car;
}
public void setCar(Car car) {
if (car.equals(this.car)) {
count++;
RequestContext reqCtx = RequestContext.getCurrentInstance();
reqCtx.addCallbackParam("unselecttest", count);
} else {
count = 0;
}
this.car = car;
}
-1
使用jquery切换功能。
$(selector).toggle();
+0
你能更具体的pleasa吗?我正在使用primefaces datatable顺便说一句。 – leostiw 2013-04-18 06:59:38
0
我得到了sollution。
我刚刚覆盖了primefaces.js,实际上,我只是复制了Primefaces.Datatable的一部分,只是删除了使用CtrlKey取消选择该行所需的条件。
下面的例子:
原始的JavaScript的报价:
onRowClick: function (e, d, a) {
if ($(e.target) .is('td,span:not(.ui-c)')) {
var g = $(d),
c = g.hasClass('ui-state-highlight'),
f = e.metaKey || e.ctrlKey,
b = e.shiftKey;
if (c && f) {
this.unselectRow(g, a)
} else {
if (this.isSingleSelection() || (this.isMultipleSelection() && e && !f && !b && this.cfg.rowSelectMode === 'new')) {
this.unselectAllRows()
}
if (this.isMultipleSelection() && e && e.shiftKey) {
this.selectRowsInRange(g)
} else {
this.originRowIndex = g.index();
this.cursorIndex = null;
this.selectRow(g, a)
}
}
PrimeFaces.clearSelection()
}
},
你只要这部分改成这样:
onRowClick: function (e, d, a) {
if ($(e.target) .is('td,span:not(.ui-c)')) {
var g = $(d),
c = g.hasClass('ui-state-highlight'),
// I changed it to true
f = true;
b = e.shiftKey;
if (c && f) {
this.unselectRow(g, a)
} else {
if (this.isSingleSelection() || (this.isMultipleSelection() && e && !f && !b && this.cfg.rowSelectMode === 'new')) {
this.unselectAllRows()
}
if (this.isMultipleSelection() && e && e.shiftKey) {
this.selectRowsInRange(g)
} else {
this.originRowIndex = g.index();
this.cursorIndex = null;
this.selectRow(g, a)
}
}
PrimeFaces.clearSelection()
}
},
,如果你需要帮助,你可以给我一个信息。
相关问题
- 1. NULLify CTRL按链接点击
- 2. javascript onclick没有点击按钮点击
- 3. mx:datagrid - ctrl +点击
- 4. webdriver没有点击按钮
- 5. PhantomJS没有点击按钮
- 6. jquery没有按钮点击
- 7. startAnimation没有点击按钮
- 8. 的RubyMine:按Ctrl +点击不工作
- 9. 检测ctrl +点击pygtk中的按钮
- 10. Extjs 3.4防止按Ctrl +鼠标点击
- 11. 触发CTRL + S当按钮被点击
- 12. 没有敲击声按钮点击 - android
- 13. 在没有点击或Ctrl的情况下拖动多个DIV点击
- 14. 射击Ctrl + R键,Ctrl + A,按钮上按Ctrl + Q的事件单击
- 15. AutoHotkey的:有时按钮没有点击
- 16. 将点击视为CTRL +点击ListView
- 17. 多选框没有按住Ctrl键单击
- 18. 多选在点击wihout CTRL没有发送阵列后
- 19. 字完成,没有击中CTRL + SPACE
- 20. Chromedriver按下“Ctrl +单击”,而不是正常的“点击”
- 21. 键盘没有打开按钮点击
- 22. 当按钮点击时没有声音
- 23. Android SearchBar没有点击按钮
- 24. JS没有检测按钮点击
- 25. 标签没有按钮点击更新
- 26. 按钮点击功能没有运行?
- 27. 没有按钮的TextSwitcher点击
- 28. Jquery event.preventDefault没有按住shift键点击
- 29. jquery blockUI没有发生按钮点击
- 30. 按钮没有意图点击后
如果我有多选数据表,我该怎么办? – leostiw 2013-04-18 08:07:15
不,多重是不可能的,你必须使用控制键,你想象如何得到多个,如果不使用控制键:) – 2013-04-18 08:12:47
@leostiw你可以真正避免使用RichFaces数据表组件启用“多键盘免费”选项的数据表组件。 [RichFaces DataTable - 多键盘免费](http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=extendedDataTable&sample=exTableSelection&skin=blueSky)问候, – 2013-04-18 08:36:53