永发信息网

JSF怎么获取某行某列的值呢?

答案:2  悬赏:40  手机版
解决时间 2021-02-04 21:54
  • 提问者网友:情歌越听越心酸
  • 2021-02-04 09:00





当我点击Table时,已经能获取选中行[detailRow]的对象值了,但在Handler中怎么才能选中行的列值呢?
比如有30列,ID为1~30,我怎么才能在Handler中得到点击某行的某列的值呢?
求助,小弟在此谢过!~~
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-02-04 10:12
这个比较简单,dataTable里面有个属性,rowKeyVar="index",rowKeyVar就是列出dataTable里面集合的下标。举个例子,比如你的value="#{AS01E01Handler.detailList}" 里面的detailList有个属性,name(姓名),num(学号)。现在detailList.size()=5,那么现在就有5行数据。我们来取你想要的,第4行第2列的值。那就是获得那一行的名字咯。

























这里我定义了一个JS函数,getIndex(index);这样你点击时,就能获得那一行的下标了,第4行,那么这个下标就是3。你需要将这个值传递到后台。那么在AS01E01Handler里面需要增加属性 int index;在页面上:
function getIndex(index) {
document.getElementById(‘currRow’).value = index;
}

这样当你点击时,不是就将3这个下标传到后台的AS01E01Handler的index了吗?
这样,你的方法selectRow就能拿到index这个值了,接着就用detailList.get(index).getName();
就得到了你要的值了。第四行第二列,就是那个姓名。

好吧,希望对你有所帮助。
全部回答
  • 1楼网友:洒脱疯子
  • 2021-02-04 11:49
rich:dataTable有没有selection属性? 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯