@handsontable/angular:如何使用热列创建自动完成或可动手操作的类型

Posted

技术标签:

【中文标题】@handsontable/angular:如何使用热列创建自动完成或可动手操作的类型【英文标题】:@handsontable/angular: how to create autocomplete or handsontable type with hot-column 【发布时间】:2019-01-25 19:06:59 【问题描述】:

我应该使用热列创建一个自动完成或 HOT-in-HOT。比如这样。

<hot-table>
  <hot-column type="handsontable" data="code_id">
    <hot-table [data]="codes" [autoColumnSize]="true">
      <hot-column data="id" [renderer]="codesRenderer.bind(this)"></hot-column>
    </hot-table>
  </hot-column>
</hot-table>

虽然它不适用于 @handsontable/angular 包,但适用于设置对象 -> 列。像这样:


        data: 'author_id',
        title: 'Author',
        editor: AuthorEditor,
        type: 'handsontable',
        handsontable: 
          data: this.authorService.getAuthors(),
          autoColumnSize: true,
          columns: [
            
              data: 'id',
              renderer: (instance, TD, row) => 
                const author: Author = instance.getSourceDataAtRow(row);
                TD.innerText = `$author.first_name $author.last_name`;
              
            
          ],
          getValue() 
            var selection = this.getSelected();

            return this.getSourceDataAtRow(selection[0]).id;
          
        ,
        renderer: (instance, TD, row, col, prop, value, cellProperties) => 
          const author = this.authorService.getAuthorById(parseInt(value, 10));

          if (!author) 
            return;
          

          TD.innerText = `$author.first_name $author.last_name`;
        ,
      

我更喜欢使用&lt;hot-column&gt;&lt;/hot-column&gt; 而不是设置对象。如何使用&lt;hot-column&gt; 创建handsontable 类型

【问题讨论】:

【参考方案1】:

在您的模板中获得基本的自动完成功能可能看起来像这样

<hot-table>
    <hot-column type="autocomplete"
                [source]="['somevalues','here']"
                [strict]="true/false"
    >
    </hot-column>
</hot-table>

然后,像往常一样传入数据。

注意:绑定到这些属性会影响性能,尤其是在大于 2000 个单元格的表格中。使用设置对象将比绑定更优化。

【讨论】:

这不是我想要的。这样,我应该将我的数据映射到字符串数组,而不是使用对象数组。 你应该可以用handsontable类型做类似的事情。 @handsontable/angular 的文档非常少。我首先尝试将属性(即[renderer]="myRendererFunc")绑定到&lt;hot-column&gt;,然后看看会发生什么。

以上是关于@handsontable/angular:如何使用热列创建自动完成或可动手操作的类型的主要内容,如果未能解决你的问题,请参考以下文章

VB中如何使RICHTEXTBOX透明

mfc 如何使窗口居中

如何使 RelativeLayout 半透明但不使活动

如何用word使图片上下居中

如何使图像自动调整大小,使宽度为 100% 并相应调整高度?

如何使 UISegmentedcontrol 透明?