What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Help] LinQ Confusion and CheckedListBox

Smarter

Member
Joined
Jan 15, 2010
Messages
763
Reaction score
9
I am having serious coders block ... I am attempting to use a CheckedListBox to create a list of WoWItemTradeGoodsClass, using this method (obviously not function, just an example):

Code:
private void clbItemTypes_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (e.NewValue == CheckState.Checked)
            {
                switch (clbItemTypes.SelectedItem.ToString())
                {
                    case "WoWItemTradeGoodsClass.ArmorEnchant":
                        _itemTypes.Add(WoWItemTradeGoodsClass.ArmorEnchantment);
                        break;
                    case "WoWItemTradeGoodsClass.Cloth":
                        break;
                    case "WoWItemTradeGoodsClass.Devices":
                        break;
                    case "WoWItemTradeGoodsClass.Elemental":
                        break;
                    case "WoWItemTradeGoodsClass.Enchanting":
                        break;
                    case "WoWItemTradeGoodsClass.Explosives":
                        break;
                    case "WoWItemTradeGoodsClass.Herb":
                        break;
                    case " WoWItemTradeGoodsClass.JewelCrafting":
                        break;
                    case "WoWItemTradeGoodsClass.Leather":
                        break;
                    case "WoWItemTradeGoodsClass.Materla":
                        break;
                    case "WoWItemTradeGoodsClass.Meat":
                        break;
                    case "WoWItemTradeGoodsClass.MetalStone":
                        break;
                    case "WoWItemTradeGoodsClass.None":
                        break;
                    case "WoWItemTradeGoodsClass.Other":
                        break;
                    case "WoWItemTradeGoodsClass.Parts":
                        break;
                    case "WoWItemTradeGoodsClass.TradeGoods":
                        break;
                    case "WoWItemTradeGoodsClass.WeaponEnchantment":
                        break;
                }
            }
            else
            {
 
            }
        }

My first issue, is nicely getting the SelectedItem string to populate the List<WoWItemTradeGoodsClass>, without having to use a big ugly switch{} ...Also ...

Code:
var items = StyxWoW.Me.BagItems.FindAll(o => _itemTypes.Contains(o.ItemInfo.TradeGoodsClass));

I am unsure if this would be the best method to do this?
 
Last edited:
I am having serious coders block ... I am attempting to use a CheckedListBox to create a list of WoWItemTradeGoodsClass, using this method (obviously not function, just an example):

Code:
        private void clbItemTypes_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (e.NewValue == CheckState.Checked)
            {
                _itemTypes.Add(clbItemTypes.SelectedItem.ToString());
            }
            else
            {
                if (_itemTypes.Contains(clbItemTypes.SelectedItem.ToString()))
                {
                    _itemTypes.Remove(clbItemTypes.SelectedItem.ToString());
                }
            }
        }

My first issue, is nicely getting the SelectedItem string to populate the List<WoWItemTradeGoodsClass>, without having to use a big ugly switch{} ...Also ...

Code:
var items = StyxWoW.Me.BagItems.Find(o => _itemTypes.Contains(o.ItemInfo.TradeGoodsClass));

I am unsure if this would be the best method to do this?

Try
Code:
StyxWoW.Me.BagItems.Where(o => _itemTypes.Contains(o.ItemInfo.TradeGoodsClass.ToString()));
.Find() only selects the first element where the statement is true.
 
Try
Code:
StyxWoW.Me.BagItems.Where(o => _itemTypes.Contains(o.ItemInfo.TradeGoodsClass.ToString()));
.Find() only selects the first element where the statement is true.

.FindAll is what I meant to type, I was throwing this in here for an example of what i'm trying to do.
 
Thank god for Raphus :

Code:
        private void clbItemTypes_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (e.NewValue == CheckState.Checked)
            {
                _itemTypes.Add(clbItemTypes.SelectedItem.ToString());
            }
            else
            {
                _itemTypes.Remove(clbItemTypes.SelectedItem.ToString());
            }
        }

var items = StyxWoW.Me.BagItems.Find(o => _itemTypes.Contains(o.ItemInfo.TradeGoodsClass.ToString()));
 
Back
Top