Как я могу динамически менять валюту в строке кендо-сетки - PullRequest
0 голосов
/ 25 июня 2019

Я создал это kendo-grid: kendo-grid Я пытаюсь реализовать следующее: всякий раз, когда я меняю опцию валюты select, я хочу изменить валюту ТОЛЬКО в этой строке, чтобы я мог иметь несколько записей о валюте ниже в моем сетка. Я нашел документацию здесь и попробовал точно такой же код, но понял, что каждый раз, когда я изменяю option, меняется вся культура в моем веб-приложении.


Вот код:
debts.component.html

<kendo-grid #creditorsGrid
    id="creditorsGrid"
    [data]="gridData"
    ...>
    <ng-template kendoGridToolbarTemplate>
      ...
    </ng-template>
    <kendo-grid-column field="ID" title="Α/Α" width="50"></kendo-grid-column>
    <kendo-grid-column field="CreditorName" title="Πιστωτής">
      <ng-template kendoGridCellTemplate let-dataItem="dataItem">
        <kendo-combobox [data]="creditorsListItems" [suggest]="true"></kendo-combobox>
      </ng-template>
    </kendo-grid-column>
    <kendo-grid-column field="Amount" title="Ποσό" editor="numeric" format="{0:c}"></kendo-grid-column>
    <kendo-grid-column field="Currency" title="Νόμισμα" width="100">
       <ng-template kendoGridCellTemplate let-dataItem="dataItem">
        <select style="width:65px" [value]="localeId" (change)="onLocaleChange($event.target.value)">
          <option value="en-DE">€</option>
          <option value="en-GB">£</option>
          <option value="en-CH">Fr.</option>
          <option value="en">$</option>
        </select>
      </ng-template>
    </kendo-grid-column>
    <kendo-grid-command-column width="100">
      ...
    </kendo-grid-command-column>
</kendo-grid>

debts.compoenent.ts

export class DebtsComponent implements OnInit {

    constructor(private formBuilder: FormBuilder, public editService: EditService,
              public intlService: IntlService, private localeService: LocaleService) { }

    public get localeId(): string {
        return this.localeService.localeId;
    }

    public onLocaleChange(locale: string): void {
        this.localeService.set(locale);
    }

}

(localeService находится на странице документации, о которой я упоминал выше). Заранее спасибо!

1 Ответ

1 голос
/ 25 июня 2019

Если вы сделаете свою валюту типом Enum, это позволит вам просто выбрать этот Enum для каждой из ваших валют. Не уверен, что это то, что вы ищете, я сделал нечто похожее на это в kendo MVC.

...