かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

Infragistics ASP.NETのWebDataGridで行編集後にRowUpdatedイベントがサーバーサイドで拾えない

同じような問題に悩んでる人がいた。

www.infragistics.com

WebDataGridのBehaviorsのEditingCoreのBehaviorsのRowEditingのRowEditingClientEvents-ExitedEditModeに適当なクライアントサイドイベントを割り当てる。(以下の例ではfoo)

<ig:RowEditing EnableDialog="False" RowEditingClientEvents-ExitedEditMode="foo"></ig:RowEditing>

そして、JavaScriptからeditingCoreに対してcommitを呼び出す。

function foo(sender, eventArgs) {
    sender.get_behaviors().get_editingCore().commit();
}

最初に示したリンク先ではeventArgs.getCell().get_grid()でGridを取得していたけどeventArgsにgetCell()がないのでsenderをそのまま使ったらうまくいきました。