标签组件的用法,怎么生成的

image

能详细描述下你的问题吗?

我这两天在看标签组件的插件用法,然后这个是案例上生成的,现在我在生成页面的时候遇到了一些问题,就是我看案例上的代码,生成页面上有一个标签是dsContext这个,这个好像是旧版本的API,换成现在的版本应该用什么代替

image 这个是案例上生成的页面,我查了查这好像是旧版本的API,image ,这个是现在生成的,但是我一直实现不了这个功能,就想知道怎么去代替旧版本的API

dsContext 是 CUBA 6 的标签,表示 DataSource Context,是数据描述区,在 CUBA 7 里面应该用 data 标签,就是你发的下面这个图的用法。

这个扩展的作者 Mario 给了示例程序,并且最新的提交是适配 CUBA 7.2 的,你可以直接下载参考的。

我看的就是这个实例,这个实例里边添加标签组件有两种方法,一种是CUBA6的标签方法,一种是CUBA7里边的标签方法,在CUBA7里边的应用标签,有一个小问题,当生成的页面时,选择的table type为GroupTable时image ,image ,这个标签组件的方法还是有用的,但当你选择的Table type的类型为DataGrid时image ,image ,这个标签组建的方法就不能用了,这是为什么,还是说我本身就理解错了

源码看,在表格中添加 tag 列使用的是 Table 接口的 addGeneratedColumn() 方法,而 DataGrid 虽然也有该方法,却没有实现 Table 接口,所以这里不能使用 DataGrid,只能用 Table、TreeTable、GroupTable。

1 个赞

明白了,我刚才也发看了看源码发现了

那我现在用的CUBA 7,生成标签的话是不是就只能生成data,无法生成dsContext标签了,如果说我还想用dsContext标签怎么办,还是说现在已经不建议用这个旧版本的标签了

你用 CUBA 7,不建议用旧标签了。难道用新的有问题?

因为现在我在生成页面选择的表格类型时基本上都用的是DataGrid这个,但是在表格中添加tag列使用的是Table接口的addGeneratedColumn()方法,DataGrid没有实现table接口,所以我就想说能不能生成旧版本的那个标签

如果我想把这个标签组件单独开发出来一个接口,我应该看什么文档

@bryanyin

也就是说,你的目的是在 DataGrid 里面用这个组件对吧?

是的,因为现在我创建页面基本上都是DataGrid

这个我已经在 Github 上提了 issue,不过估计短时间解决不了。你可以看看 应用程序组件 的文档。按照下面的步骤,自己实现:

  1. git clone 这个 taggable 组件到你电脑上。
  2. 修改 Table 接口相关的部分为 DataGrid
  3. 按照文档的描述安装至你本地的 Maven 仓库。
  4. 按照文档在你的应用程序中使用修改好的本地组件。