Копирование элементов ComboBox в коллекцию StringCollection в C #

попробуйте этот. только проблема Я не использую атрибуты (потому что мне это не нравится) dict2xml на pynuggets.wordpress.com dict2xml on activestate

from xml.dom.minidom import Document
import copy

class dict2xml(object):
    doc     = Document()

    def __init__(self, structure):
        if len(structure) == 1:
            rootName    = str(structure.keys()[0])
            self.root   = self.doc.createElement(rootName)

            self.doc.appendChild(self.root)
            self.build(self.root, structure[rootName])

    def build(self, father, structure):
        if type(structure) == dict:
            for k in structure:
                tag = self.doc.createElement(k)
                father.appendChild(tag)
                self.build(tag, structure[k])

        elif type(structure) == list:
            grandFather = father.parentNode
            tagName     = father.tagName
            grandFather.removeChild(father)
            for l in structure:
                tag = self.doc.createElement(tagName)
                self.build(tag, l)
                grandFather.appendChild(tag)

        else:
            data    = str(structure)
            tag     = self.doc.createTextNode(data)
            father.appendChild(tag)

    def display(self):
        print self.doc.toprettyxml(indent="  ")

if __name__ == '__main__':
    example = {'auftrag':{"kommiauftragsnr":2103839, "anliefertermin":"2009-11-25", "prioritaet": 7,"ort": u"Huecksenwagen","positionen": [{"menge": 12, "artnr": "14640/XL", "posnr": 1},],"versandeinweisungen": [{"guid": "2103839-XalE", "bezeichner": "avisierung48h","anweisung": "48h vor Anlieferung unter 0900-LOGISTIK avisieren"},]}}
    xml = dict2xml(example)
    xml.display()

1
задан Jim Fell 27 July 2010 в 21:48
поделиться

1 ответ

Вы должны быть в состоянии перебирать элементы combobox.items и просто использовать stringcollection.Add() для добавления строки в коллекцию.

Метод tostring будет работать так, как описано здесь:

Хотя ComboBox обычно используется для отображения текстовых элементов, вы можете добавить любой объект в ComboBox. Как правило, представление объекта в ComboBox является строка возвращаемая методом ToString этого объекта методом ToString. Если вы хотите, чтобы вместо этого отображался член объекта, выберите член, который будет отображаться, установив свойство DisplayMember на имя соответствующего члена. Вы также можете выбрать член объекта, который будет представлять значение, возвращаемое объектом, установив свойство ValueMember свойство. Для получения дополнительной информации см. ListControl.

Так что что-то вроде:

Foreach(object o in combobox.items)
{
//might need to access a datamember of the combobox's item if more complex solution is required, but this will probably do
stringcollection.Add(o.ToString);
}
2
ответ дан 2 September 2019 в 22:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: