0

リストビュー コントロールがあり、データが継続的に更新されています。XElement を行に「配置」したいので、たとえば行をダブルクリックすると、ダブルクリックで「非表示」の xelement パラメータを使用してメソッドが呼び出されます。

デバッガーにエラーは表示されませんが、行から XElement-typo 要素に到達する方法がわかりません。

私のコードの関連部分は次のとおりです。

ListViewItem item = new ListViewItem();
            item = listBighit.Items.Add(new Offer (sor[0].ToString(),xml1,xml2));
            item.SubItems.Add(sor[1].ToString());
            item.SubItems.Add(sor[2].ToString());
            item.SubItems.Add(sor[3].ToString());
            item.SubItems.Add(sor[4].ToString());
            item.SubItems.Add(sor[5].ToString());

public class Offer : ListViewItem
{
    protected XElement _xml1;
    protected XElement _xml2;
    public Offer(string penznem, XElement xml1, XElement xml2)
    {
        this.xmlAddress1 = xml1;
        this.xmlAddress2 = xml2;
        base.Text = penznem;
    }
    public XElement xmlAddress1
    { get { return this._xml1; } set { this._xml1 = value; } }
    public XElement xmlAddress2
    { get { return this._xml2; } set { this._xml2 = value; } } 
}

教祖が私を助けてくれることを願っています:)ありがとう!

4

1 に答える 1

0
ListViewItem item = new ListViewItem();
item = listBighit.Items.Add(new Offer (sor[0].ToString(),xml1,xml2));

最初の行は何もしません。あなたが本当にやりたいのは、ListViewItemではなくOfferを作成することだと思います。

Offer item = new Offer(...);
item.SubItems.Add(...);
// etc..
listBighit.Items.Add(item);  

次に、ListViewからアイテムを取得する必要がある場合は、それをオファーにキャストし直します。

Offer first = (Offer)listBighit.Items[0];
于 2010-07-21T01:25:57.680 に答える