• HOME
  • 開発者ブログ
  • エラー(ListManager の位置は rowNum とおなじでなければなりません。)

エラー(ListManager の位置は rowNum とおなじでなければなりません。)

2008.06.20

その他

先日 Visual C# .NET で開発していて、
ComboBox 関連で表題のようなエラーでハマってしまいました。

オリジナルのデータ ストアに行をコミット中にエラーが発生しました。
ListManager の位置は rowNum とおなじでなければなりません。
パラメータ名:rowNum 値は修正しますか?

デバックで原因の特定を行ってましたが全然わからず、
ネットで検索しても、この手の情報はほとんどありませんでした。

で、結果的に私の場合の原因(の一つ?)として、
DataGridColumnStyle をベースに作成した
ComboBox の Column クラスがあるのですが、
そこで override した Commit のメソッド内で行っている
DataGridColumnStyle の SetColumnValueAtRow()
に問題があり以下のような対秘策を行いました。

// ListManager の位置(postion)と rowNum が
// 一致した場合のみに処理を行う。
if (dataSource.Position == rowNum)
SetColumnValueAtRow(dataSource, rowNum, m_cbx.SelectedValue);

原因もそれぞれだと思いますし、
根本的な対応策かどうかは分かりませんが、
このようなエラーが発生した場合は、
上記の部分に着目するのも一つかと思います。

ご参考までに… (^^;