3

我正在尝试在单击外部按钮时在网格的开头添加一个新的空行。网格显示非常好。

<wj-flex-grid #flex 
    [itemsSource]="data" 
    [isReadOnly]="true" 
    [headersVisibility]="'Column'" 
    [selectionMode]="'ListBox'" 
    (selectionChanged)="gridSelectionChange($event, flex)" 
    (loadedRows)="onGridLoaded($event)">
</wj-flex-grid>

和数据使用collectionView

this.data = new wjcCore.CollectionView(records);

使用[allowAddNew] = 'true', 它默认在底部添加新行。但我想在按钮点击开始时添加。

更新:

addNewRow(ctl) {
    this.data.addNew();
}

在哪里addNewRow工作正常但在底部添加:

<a (click)="addNewRow(flex)">add new</a>

请帮助我如何实现这一目标。

谢谢

4

1 回答 1

1

要将新行设置在顶部,wijmo grid 提供了一个属性newRowAtTop

修改您的代码,如下所示:

<wj-flex-grid #flex 
    [newRowAtTop] = "true"
    [itemsSource]="data" 
    [isReadOnly]="true" 
    [headersVisibility]="'Column'" 
    [selectionMode]="'ListBox'" 
    (selectionChanged)="gridSelectionChange($event, flex)" 
    (loadedRows)="onGridLoaded($event)">
</wj-flex-grid>

注意[newRowAtTop] = "true"上面代码中的部分。

以下描述是从此链接newRowAtTop复制的:

获取或设置一个值,该值指示新行模板应位于网格的顶部还是底部。

如果将 newRowAtTop 属性设置为 true,并且希望新行模板始终保持可见,请将 frozenRows 属性设置为 1。这将冻结顶部的新行模板,因此它不会滚动出视图。

仅当 allowAddNew 属性设置为 true 并且 itemsSource 对象支持添加新项目时,才会显示新行模板。

于 2017-08-03T14:09:59.323 回答