MultiList. How to use It?

drontng

21-05-2010 13:03:04

Hi. I'm actually can't use MultiList in a way I want.
I need to display a table on it with 6 collumns such as Number, PlayerName, Deaths, Kills and so on...

So...how should I fill a non-first collumn? Cause addtem() adds it only to a first collumn... :?:
And should I set a UserData?
I have a struct to display...


struct StatisticElement
{
int number;
MyGUI::UString name;
int score;
int kills;
int deaths;
int ping;
};


And I added 6 collumns to a MultiList Widget


m_StatisticMultiList->addColumn((int) (m_StatisticMultiList->getClientCoord().width/6),"Number");
m_StatisticMultiList->addColumn((int) (m_StatisticMultiList->getClientCoord().width/6),"Name");
m_StatisticMultiList->addColumn((int) (m_StatisticMultiList->getClientCoord().width/6),"X3");
m_StatisticMultiList->addColumn((int) (m_StatisticMultiList->getClientCoord().width/6),"Kills");
m_StatisticMultiList->addColumn((int) (m_StatisticMultiList->getClientCoord().width/6),"Deaths");
m_StatisticMultiList->addColumn((int) (m_StatisticMultiList->getClientCoord().width/6),"Ping");


I just can't really use this widget :oops:

Altren

21-05-2010 16:29:37

Here's example of filling Multilist taken from Layout Editor
mMultilist->addColumn(localise("Key"), 1);
mMultilist->addColumn(localise("Value"), 1);

mMultilist->removeAllItems();
for (VectorStringPairs::iterator iterProperty = widgetContainer->mUserString.begin(); iterProperty != widgetContainer->mUserString.end(); ++iterProperty)
{
mMultilist->addItem(iterProperty->first);
mMultilist->setSubItemNameAt(1, mMultilist->getItemCount() - 1, iterProperty->second);
}
So addItem adds a line and 1st element of it. To set something in other columns you should use setSubItemNameAt.

drontng

05-06-2010 18:59:30

thanks =) it works fine!!!