Sybase Datawindow.net を使用する winforms アプリケーションに取り組んでいます。基本的に、データ (dw_retailer.Retrieve(id)) を取得するデータウィンドウがあり、返されるのはオブジェクト リストです。データウィンドウ自体はラベルとテキストボックスで構成されており、このようにデータをバインドします
newRetailer.foto1 = ((object[])(dataWindowControl.PrimaryData.Rows[0]))[7].ToString();
newRetailer.foto2 = ((object[])(dataWindowControl.PrimaryData.Rows[0]))[6].ToString();
私が今やりたいことは、このようにオブジェクト[]リストに文字列を入れることです
((object[])(_targetForm.dw_retailer.PrimaryData.Rows[0]))[5] = retailer.text;
しかし、明らかにそれはうまくいきません。
((object[])(_targetForm.dw_retailer.PrimaryData.Rows[0])).SetValue(retailer.text,5);
9つのオブジェクトがあるにもかかわらず、それは機能しません(範囲外のインデックス)
_targetForm.dw_retailer.PrimaryData.Rows[0] {object[9]} object {object[]}
こんなのもやってみた
Array arrayList = _targetForm.dw_retailer.PrimaryData.Rows.ToArray();
arrayList.SetValue(retailer.text, 0,5);
配列は多次元ではありません。オブジェクト内のオブジェクトが必要なので、arrayList [0] [5]が必要ですが、どちらも機能しません。
それが単に DataWindow Designer アプリケーションで選択しなければならない設定なのかどうかさえわかりません。配列を object[] に変換して、_targetForm.dw_retailer.PrimaryData.Rows に戻す方法を教えてください。データウィンドウを編集することさえ可能ですか?
まだ機能していません マーク
IList list = ((IList)(_targetForm.dw_retailer.PrimaryData.Rows[0]));
list[5] = retailer.text;
Retailer.text の値は "tekst" リスト [5] は変更されていません。
正確にはアイテムを追加するのではなく、アイテムを編集するようなものです。範囲外のインデックスについては、リストに 8 つの項目しかないことを知っているので、5 番目が範囲外または範囲であることは奇妙に感じます。多分私は .SetValue() をよく理解していません。
IListありがとうございます!しかし、どうすれば IList を object[] に戻すことができるでしょうか?