1

表示されると基本的にグリッドである観察可能な配列「users」があります。ユーザーは LoginId のリンクをクリックすると、モデルが開き、単一のユーザー (名、姓、およびグリッド ビューにないその他の情報など) を編集できます。ユーザーが編集モーダルで FirstName を変更した場合、保存が成功した後にグリッドに反映させたいと思います。私は2つのアプローチを見てきました.arrayFirstを使用して検索し、グリッドにユーザーを削除/再追加するか、観測可能な配列内の各アイテムを観測可能にします。これを機能させるための最良の方法と、それが最善の方法である場合にオブザーバブル配列オブザーバブルを適切に設定する方法がわかりません。

function UserViewModel() {    

                var self = this;

                //data which is populated on a load AJAX function => self.users(msg.d);
                self.users = ko.observableArray([]);                   

                self.updateUser = function () {
                    //set edit modal elements
                    self.editFirstName(this.FirstName);
                    //set the rest for edit
                    //open modal, user edits 'editFirstName' and hits save
                    //data saved to DB
                    //now I want to update the FirstName the user edited in the users array so I don't have to repull all users in the grid

                   }

}

HTML フラグメント

<tbody data-bind="foreach: users">
            <tr>
                <td class="border-left"><a href="#"  data-bind="text: LoginId,click: $parent.updateUser"/></td>
                <td data-bind="text: FirstName"/>
                <td data-bind="text: LastName"/>
                <td data-bind="text: EmailAddress"/>
                <td data-bind="text: AccessLevel"/>                  
                <td data-bind="text: Status" class="border-right" />
            </tr>
            </tbody>
4

1 に答える 1