2

コードを使用してバインディング ソースの列の値を更新するにはどうすればよいですか?

私はこれに似た何かをしようとしています:

CustomersBindingSource.AddNew();
CustomersBindingSource.Current["CustomerID"] = Guid.NewGuid();

このコードは現在、「タイプ 'オブジェクト' の式に [] を使用したインデックスを適用できません」というエラーを示しています。

これを書き直す助けがあれば大歓迎です!

4

1 に答える 1

6

BindingSourceのCurrentプロパティは、それが返すもので非常に一般的です:typeobject。オブジェクトはインデクサーを定義しないため、[]は機能しません。あなたがする必要があるのは、Currentプロパティをそれが実際にあるものの(より具体的な)タイプにキャストすることです。

たとえば、Currentが実際にDataRowViewである場合、次のように記述できます。

DataRowView current = (DataRowView)CustomersBindingSource.Current;
current["CustomerID"] = Guid.NewGuid();    

これがお役に立てば幸い、
ベン

于 2010-07-03T00:23:37.273 に答える