これを行うためのより簡単な方法があるはずです。コレクションに基づくクラスがあり、そのクラスは別のクラスのコレクションです。現在、クラスに新しいアイテムがあるときはいつでも、そのアイテムをリストボックスに割り当てています。コレクションクラスのすべての値をコレクションであるため、リストボックスのコレクションに割り当てる方法がわかりません。何か案は?ありがとう
わかりました、これまでに行ったことは、コレクションで使用されるクラスに tostring オーバーライドがあることです。これは、リストボックスに表示したいものです。
public override string ToString()
{
return string.Format("{0} {1}: {2}", tTypev.ToString(),
Datev.ToString("MM/dd/yyyy"), Amountv.ToString("C"));
}
リストボックスの各項目に表示したいものです。
class Transactions : System.Collections.CollectionBase
{
...
}
他のクラス Tansaction のコレクションを含むコレクション クラスです。現在、lstTransactions.Items.Add()、.Remove、.RemovAt などを使用してリスト ボックスにアイテムを追加し、.Add()、.Remove などを使用してコレクション クラス、トランザクションにアイテムを追加します。しかし、外部コントロールへの依存を減らし、数行のコードでのみ使用するようにしています。私は次のようなものを使用しようとしていました:
lstTransactions.DataSource = (Transaction)myTrans;
しかし、それはうまくいかないようでした。主な理由は、DataSource がどのプロパティを取得したかを把握できなかったためです。
私も試しました:
lstTransactions.Items =
しかし、アイテムは読み取り専用であると言われました。