Способ сохранения значения, необходимого вам в прокси-переменной, и получить эту переменную.
I.E.
while( variable < 5 )
{
int copy = variable;
actions.Add( () => copy * 2 );
++variable;
}
cellsrenderer
может возвращать только код HTML, поэтому любой угловой код не будет работать, когда вы вернетесь через эту функцию.
Вместо этого вы можете использовать свойство cellsformat
и назначить его столбцу, для которого у вас есть эти числовые данные.
Обратитесь к официальной документации здесь: Форматирование ячеек jqxGrid
Определите столбцы ниже, чтобы получить ожидаемый результат как «$ 123,456»:
let columns: any[] = [];
columns = $.merge(columns,[
// datafield is the name of the property from which you are assigning value from your data.
// text is the name of the column in the grid.
// cellsformat:"c" indicates currency numbers.
{text:"Number Column", datafield:"price", cellsrenderer: this.formatnumber, cellsformat:"c"}
]);
JSFiddle: Нажмите здесь
Решение CodingFreak, вероятно, работает, и я рекомендую его использовать, но вот еще одно решение, если вы не уверены в использовании директивы Angular Pipe.
В вашем файле component.ts
введите службу CurrencyPipe:
constructor(public cp: CurrencyPipe) { }
Затем в вашем файле app.module.ts
или component.ts
обязательно включите службу CurrencyPipe в своих провайдерах:
providers: [ CurrencyPipe ]
Наконец, вы можете использовать трубы следующим образом:
formatNumber = (row, columnfield, value, defaulthtml, columnproperties,rowdata) =>
{
return '<span style="margin: 4px; float: ' + columnproperties.cellsalign + ';">$' + this.cp.transform(value, "USD") + '</span>';
};
Для получения дополнительных параметров перейдите к Угловая документация .