Перезаполните поле со списком - PullRequest
1 голос
/ 06 марта 2011

Вот как я заполняю поле со списком:

        foreach(string s in entries)
        {
            string[] fields = someSplit(s);
            threadComboBox.AppendText(fields[0]);
        }

Как мне удалить все элементы и добавить новые? Я попытался вызвать Clear(), но хотя старые значения удаляются, новые не добавляются.

Ответы [ 2 ]

3 голосов
/ 06 марта 2011

1001 * попробовать *

    threadComboBox.Clear();
    ListStore store = new ListStore(typeof (string));
    threadComboBox.Model = store;

    foreach(string s in entries)
    {
        string[] fields = someSplit(s);
        store.AppendValues (fields[0]);          
    }
1 голос
/ 28 декабря 2014

Принятый ответ не сработал для меня сам по себе.Мне пришлось использовать фрагмент из FAQ :

cb.Clear();
CellRendererText cell = new CellRendererText();
cb.PackStart(cell, false);
cb.AddAttribute(cell, "text", 0);
ListStore store = new ListStore(typeof (string));
cb.Model = store;

//now this works:
cb.AppendText("test");
...