2

連絡先を表示するリスト ビューがあり、nameそれnumberが列です。メッセージを表示する別のリストビューがあります- phone number(メッセージが受信された場所から)、message列です。メッセージリストビューにデータを入力するときに、電話番号列と連絡先リスト番号列を比較し、一致する場合はメッセージリストビューの番号列を連絡先名に置き換えます。

これは可能ですか?解決策を提供してください。

4

2 に答える 2

1

これが役立つかどうかを確認してください:

           if (messagelist.Items.Count > 0)
            {
                for (int i = 0; i < messagelist.Items.Count; i++)
                {
                    string mnum = messagelist.Items[i].Text;

                    for (int j = 0; j < contactlist.Items.Count; j++)
                    {
                        if (contactlist.Items[j].SubItems[1].Text == mnum)
                        {
                            messagelist.Items[i].Text = contactlist.Items[j].Text;
                        }

                    }
                }
            }

連絡先リストの2列目に番号があると仮定しました。

于 2012-08-14T09:00:14.090 に答える
0

私は最初に番号/電話番号joinの2つをします:lists

var matchingList = (from c in ContactList
                    join m in MessageList on c.Number equals m.PhoneNumber
                    select new {ContactName = c.Name
                              , ContactNumber = c.Number
                              , Message = m.Message
                              , PhoneNumber = m.PhoneNumber } );

これlistで、すべての一致Contact.NumberとがありMessage.PhoneNumberます。

Nameこれで、アイテムをループして、 :を設定できます。

MessageList.Foreach( x => 
{
    var matchedItem = matchingList.FirstOrDefault( y => y.Massage == x.Message && y.PhoneNumber == x.PhoneNumber);

    if(matchedItem != null)
    {
        x.PhoneNumber = matchedItem.Name
    }
});

注:テストされていません。うまくいくための何か。

お役に立てれば。

于 2012-08-08T07:25:43.947 に答える