ما يفعل ListViewSubtemCollection استخدام مفاتيح لها؟
سؤال
واني اسعى الى الحصول على قيمة بعض ListViewSubItems، ولكن ليس لدي أي فكرة عما يقدر أنه يستخدم لمفاتيحها. لدي بعض رمز بسيط:
protected override void OnItemDrag(ItemDragEventArgs e)
{
base.OnItemDrag(e);
ListViewItem item = e.Item as ListViewItem;
string val = item.SubItems[???].ToString();
}
وو؟؟؟ الجزء هو مكاني وجود مشكلة. أنا لا يمكن معرفة ما هي مفاتيح. لقد حاولت أسماء الأعمدة يكون ListView مع أي حظ. وأود أن استخدام هذا الأسلوب بدلا من استخدام مؤشرات رقمية.
المحلول
ومفتاح للListViewSubItem
هو ملك Name
كما هو موضح هنا أ >.
ووضع اسم يساوي اسم العمود، من شأنها أن تسمح لك لمؤشر في البنود الفرعية من جانب اسم العمود.
وبعض الرموز كمثال
و
ListViewItem myListViewItem = new ListViewItem();
ListViewItem.ListViewSubItem myListViewSubItem = new ListViewItem.ListViewSubItem();
myListViewSubItem.Text = "This will be displayed";
myListViewSubItem.Name = "my key";
myListViewItem.SubItems.Add(myListViewSubItem);
ListViewItem.ListViewSubItem subItem = myListViewItem.SubItems["my key"];
نصائح أخرى
ويمكنك فقط استخدام الفهرس العمود لإضافة بنود فرعية، ولكن يمكنك جعلها أسهل للقراءة بجعل تعداد تحتوي على مؤشر كل من الأعمدة.
ويتم ترتيب بنود فرعية فقط من قبل مؤشر عمود لسوء الحظ. لذلك عليك أن الوصول إليها مثل:
protected override void OnItemDrag(ItemDragEventArgs e)
{
base.OnItemDrag(e);
ListViewItem item = e.Item as ListViewItem;
string val = item.SubItems[0].ToString();
}