テーブルの行の入力フィールドにフォーカスを設定したいとします。この行のIDを読んでフォーカスを設定するにはどうすればよいですか?sap.ui.table.Tableの入力フィールドにフォーカスを設定する方法
for(var i = 0; i < rowCount; i++) {
var oEntry = this.getView().getModel("items").getProperty(
oTable.getContextByIndex(i).sPath);
if (oEntry.Field1 === sField1){
//Here I will set the focus in an Input field
}
}
おかげ
編集:
<columns>
<Column width="2rem" sortProperty="Field">
<m:Label text="{i18n>Field}" />
<template>
<m:CheckBox
selected="{
path: 'items>Field',
type: 'sap.ui.model.type.String'
}"
editable="false" />
</template>
</Column>
<Column width="6rem">
<m:Label text="{i18n>Field1}" />
<template>
<m:Text text="{items>Field1}" />
</template>
</Column>
<Column width="6rem">
<m:Label text="{i18n>Field2}" />
<template>
<m:Input
value="{items>Field2}" />
</template>
</Column>
このビューでは、私のテーブルの列です:私はフィールド1 = s.Field1ライン、上のフォーカスを取得したいです。 IDを特別な行に設定するにはどうすればよいですか?
編集2.0:
XMLビュー:
<Column width="6rem">
<m:Label text="{i18n>Field2}" />
<template>
<m:Input
id="input2" value="{items>Field2}"/>
</template>
</Column>
コントローラー:
for(var i = 0; i < rowCount; i++) {
var oEntry = this.getView().getModel("items").getProperty(
oTable.getContextByIndex(i).sPath);
if (oEntry.Field1 === sField1){
this.getView().byId("input2").focus();
}
}
this.getView().getModel("items").refresh(true);
ありがとうございますが、テーブルで正しい行を選択するにはどうすればよいですか? – Mario
はアクセスしたい入力行にIDを与え、 '.byId(ここであなたのID") 'メソッドを使ってコードのどの行でもIDを見つけることができます。 'this.getView()'を使用して、現在のビューへの参照を取得する必要があります。上記の私の編集を確認してください – Developer
ありがとう、私はいくつかの詳細と投稿を編集します。 IDをどこに設定できますか? – Mario