GWT HTMLTable 中的 getCell(row,col)

发布于 2024-12-14 11:44:47 字数 134 浏览 2 评论 0原文

HTMLTable 中没有这样的方法:

Cell c =  getCell(row,col);

在给定行和列的情况下,在 HTML/Flex Table 中获取单元格的最有效方法是什么?

There is no such method in HTMLTable:

Cell c =  getCell(row,col);

What is the most effective way of getting a cell in an HTML/Flex Table, given the row and column?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沩ん囻菔务 2024-12-21 11:44:47

取决于你想做什么。

如果您想读取/写入单元格的内容,您可能需要使用 HTMLTable#setText(int,int)HTMLTable#getText(int,int),或 HTMLTable#setWidget(int,int)HTMLTable#getWidget(int,int)(如果单元格的内容是小部件)。

HtmlTable.CellFormatter 中有更多用于读取/写入单元格属性的函数 (链接到 gwt javadoc) 及其子类 - 您可以使用以下方式获取它HTMLTable#getCellFormatter() 并可能强制转换它,具体取决于您使用的 HTMLTable 的实现。例如,使用单元格格式化程序,您可以设置/删除样式、属性或获取底层 Element (链接到 gwt javadoc)以进行更直接的控制。

Depends on what you want to do.

If you want to read/write the content of the cell, you might want to use HTMLTable#setText(int,int) and HTMLTable#getText(int,int), or HTMLTable#setWidget(int,int) and HTMLTable#getWidget(int,int), if the content of the cell is a widget.

There are more functions to read/write properties of the cell in HtmlTable.CellFormatter (link to gwt javadoc) and its subclasses - you can obtain it using HTMLTable#getCellFormatter() and maybe cast it, depending on the implementation of HTMLTable you are using. with the cell formatter you can, for example, set/remove styles, attributes or get the underlying Element (link to gwt javadoc) for even more direct control.

生寂 2024-12-21 11:44:47

HTMLTable 具有以下方法:

  • HTMLTable#isCellPresent(int row, int column)
  • HTMLTable#getWidget(int row, int column)

您可以使用以下两种方法编写实用程序方法他们喜欢 这:

public static Cell<?> getCell(HTMLTable table, int row, int column) {
    if (table != null && table.isCellPresent(row, column)) {
        Widget widget = table.getWidget(row, column);
        if (widget instanceof Cell) {
            return (Cell<?>) widget;
        }
    }
    return null;
}

HTMLTable has the following methods:

  • HTMLTable#isCellPresent(int row, int column)
  • HTMLTable#getWidget(int row, int column)

You could write a utility method using both of them like this:

public static Cell<?> getCell(HTMLTable table, int row, int column) {
    if (table != null && table.isCellPresent(row, column)) {
        Widget widget = table.getWidget(row, column);
        if (widget instanceof Cell) {
            return (Cell<?>) widget;
        }
    }
    return null;
}
清晨说晚安 2024-12-21 11:44:47

我使用下面的代码来注册鼠标悬停事件,该事件将影响您悬停的任何单元格的值并将其显示在工具提示中。您可以修改单击的侦听器并获得相同的内容。我的事件代码是:

Ext.QuickTips.init();   
  grid_plancode.on('mouseover', mouseOver);


function mouseOver(e, tar){
  var t = e.getTarget();
  var overCell = grid_plancode.getView().findCellIndex(t);
  var overRow = grid_plancode.getView().findRowIndex(t); 
var selectedText=grid_plancode.getView().getCell(overRow, overCell);
           if(overCell !== false && overRow !== false) {
Ext.QuickTips.register({target:tar,title:'Value', text:selectedText. innerText }); 
}

I di the below code to register the mouseover event whcih will fecth the value of any cell you hover and display it in the tooltip. you can modify the listener for a click and get the same stuff.My code for the event is:

Ext.QuickTips.init();   
  grid_plancode.on('mouseover', mouseOver);


function mouseOver(e, tar){
  var t = e.getTarget();
  var overCell = grid_plancode.getView().findCellIndex(t);
  var overRow = grid_plancode.getView().findRowIndex(t); 
var selectedText=grid_plancode.getView().getCell(overRow, overCell);
           if(overCell !== false && overRow !== false) {
Ext.QuickTips.register({target:tar,title:'Value', text:selectedText. innerText }); 
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文