我是这个平台的新手。感谢您提供任何答案,如果我输错了或者违反了该平台的任何规则,请随时指出。
我使用Angular-Framework(7。版)和syncfusion来构建Web应用程序。我通过API接收数据,并使用Syncfusion提供的功能,我可以访问(表的)行的索引及其记录。
因此,我想知道是否可以通过使用Syncfusion提供的getSelectedRecords函数来获取JS-Object的元素(其值)。
可悲的是,我不在编写代码的环境中,但是我问自己如何做到这一点(如果确实可行)。
因此,我通过Syncfusion搜索了官方文档的示例代码,如下所示:
@Component({
selector: 'app-container',
template: <ejs-grid #grid [dataSource]='data' height='315px'
(rowSelected)='rowSelected($event)'>
<e-columns>
<e-column field='OrderID' headerText='Order ID'
textAlign='Right' width=120></e-column>
<e-column field='CustomerID' headerText='Customer ID'
width=150></e-column>
<e-column field='ShipCity' headerText='Ship City'
width=150></e-column>
<e-column field='ShipName' headerText='Ship Name'
width=150></e-column>
</e-columns>
</ejs-grid>
})
export class AppComponent implements OnInit {
public data: Object[];
@ViewChild('grid')
public grid: GridComponent;
ngOnInit(): void {
this.data = data;
}
rowSelected(args: RowSelectEventArgs) {
let selectedrowindex: number[] = this.grid.getSelectedRowIndexes(); // Get the selected row indexes.
alert(selectedrowindex); // To alert the selected row indexes.
let selectedrecords: Object[] = this.grid.getSelectedRecords(); // Get the selected records.
}
}
在rowSelected函数的最后一行中,您看到对象的记录以Object []类型存储。使用console.log函数,我看到记录也存储在一个对象中,并且对象是可访问的。代替使用getSelectedRecords()并将其存储在对象中,我可以扩展该函数以访问对象并获取元素或获取其值并将其存储在具有元素类型的变量中吗?
在函数后加上“。”。并在this.grid.getSelectedRecords().elementsname
旁边写上元素名称不起作用,但是有类似之处吗?
我希望我能清楚地解释我的问题。如果不清楚,请询问。
答案 0 :(得分:1)
您可以使用this.grid.selectionModule.selectedRecords
属性来获取所选的行元素,并可以使用以下所选的行索引来获取所选记录的特定值。
rowSelected(args:rowSelectedEventArgs){
let selectedRowIndex: number[] = this.grid.getSelectedRowIndexes();
let selectedRowEle: number = (this.grid.getSelectedRecords()[0] as any).OrderID // Get the selected record value using "getSelectedRecords()"
let selectedRowElement: Element[] = this.grid.selectionModule.selectedRecords; // Get the Selected record row element collection.
}
有关更多信息,请参考sample。
如果您需要进一步的帮助,请与我们联系。