Dim ii = _DsAttribute.Tables(0).Rows.Find(Convert.ToString(DtgFields.Rows(e.RowIndex).Cells("AttributeID").Value, CultureInfo.CreateSpecificCulture("en-US"))) '.ToString.ToString(CultureInfo.InvariantCulture))
Dim jj = _DsAttribute.Tables(0).Rows.Find(Convert.ToString(DtgFields.Rows(e.RowIndex).Cells("AttributeID").Value, CultureInfo.CreateSpecificCulture("en-US"))).Item("Checked")
上記の多くのバリエーションを試し、データベースのデータが私のマシンのデンマーク文化 (Windows の地域/言語設定で設定) によって「破損」しないようにしようとしました。インバリアント カルチャ、fr-FR および en-US を試しました。
私のマシンがデンマーク語の場合、iiは null に等しく、jjは例外を返します (「オブジェクト参照がオブジェクトのインスタンスに設定されていません」)。また、DtgFields.Rows(e.RowIndex).Cells("AttributeID").Valueの値を検索すると、 _DsAttributeのデータで見つけることができます。ID のデータは、少なくとも肉眼では同じです。
この種の問題を回避するために CultureInfo を利用するにはどうすればよいですか?