|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
На форме есть СписокОрганизаций1, который заполняется из xml файла: <Organization> <Description> <Code>1</Code> <NameOrg>Организация1</NameOrg> <AddressOrg>ул 1</AddressOrg> </Description> <Description> <Code>2</Code> <NameOrg>Организация2</NameOrg> <AddressOrg>ул 2</AddressOrg> </Description> </Organization> и поле КодОрганизации, которое должно обновляться в соотвесствиис тем, какую организацию выбрал пользователь Подскажите, плз, как это можно сделать? можно общие мысли... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 14:47 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
Хранить в ItemData код организации, например так: List1.AddItem "Microsoft" List1.ItemData(List1.NewIndex) = 42310 List1.AddItem "Sun" List1.ItemData(List1.NewIndex) = 52855 List1.AddItem "Sony" List1.ItemData(List1.NewIndex) = 64932 List1.AddItem "Marlboro" List1.ItemData(List1.NewIndex) = 39227 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 15:04 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
а как этот код вытащить в поле КодОрганизации? Private Sub SenderName_Click() Me.SenderCode.Text = ???? End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 15:27 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
я так понимаю, что SenderName и SenderCode это два разных элемента управления ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 15:29 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
да SenderName это названиt ComboBox со списком организаций, а SenderCode - название поля, куда выводится код организации ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 15:34 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
заполняю список так Private Sub Form_Load() Dim oXMLDom As New DOMDocument30 Dim oNode As IXMLDOMNode oXMLDom.async = False oXMLDom.validateOnParse = False oXMLDom.resolveExternals = False oXMLDom.preserveWhiteSpace = True If oXMLDom.Load(App.Path + "\SenderRecipient.xml") = False Then MsgBox "Failed to load xml data from file." Exit Sub End If Set oNodes = oXMLDom.selectNodes("//Organization/Description/NameOrg") For i = 0 To oNodes.length - 1 Set oNode = oNodes.nextNode If Not (oNode Is Nothing) Then sName = oNode.nodeName sData = oNode.xml Me.SenderName.AddItem oNode.nodeTypedValue Me.SenderName.ItemData(Me.SenderName.NewIndex) = 42310 End If Next End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 15:37 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
А зачем два элемента управления, когда в одном можно сделать? Ну и как результат получился после выполнения последнего кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 15:39 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
я на VB не так давно работаю...даже совсем недавно.. подскажи как с одним элементом можно? код выполняется, но некорректно естественно... Private Sub SenderName_Click() Me.SenderCode.Text = Me.SenderName.ItemData(1) End Sub в поле выводится один раз 42310 и все... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 15:47 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
Пробегись в цикле по рекордсету или по Treeveiw и заполни Me.SenderName.AddItem oNode.nodeTypedValue Me.SenderName.ItemData(Me.SenderName.NewIndex) = i т.е. в свойство NewIndex ты сам записываешь нужный тебе код, а в свойстве Text у тебя будет наименование организации. И еще, я бы этот код добавил не в обработчик события _Click, а в Form_Load, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 16:20 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
теперь на Form_Load пишу If oXMLDom.Load(App.Path + "\SenderRecipient.xml") = False Then MsgBox "Failed to load xml data from file." Exit Sub End If Set oNodes = oXMLDom.selectNodes("//Organization/Description/NameOrg") For i = 0 To oNodes.length - 1 Set oNode = oNodes.nextNode If Not (oNode Is Nothing) Then sName = oNode.nodeName sData = oNode.xml If oXMLDom.Load(App.Path + "\SenderRecipient.xml") = False Then MsgBox "Failed to load xml data from file." Exit Sub End If Set oNodes = oXMLDom.selectNodes("//Organization/Description/NameOrg") For i = 0 To oNodes.length - 1 Set oNode = oNodes.nextNode If Not (oNode Is Nothing) Then sName = oNode.nodeName sData = oNode.xml Me.SenderName.AddItem oNode.nodeTypedValue Me.SenderName.ItemData(Me.SenderName.NewIndex) = i End If Next Me.SenderCode.Text = Me.SenderName.ItemData(i) Ругается на самую последнюю строчку ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 16:38 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
Название организации ты добавляешь вот в этой строке: Me.SenderName.AddItem oNode.nodeTypedValue т.е. в эту строку ты должен писать само "Наименование организации" А последнюю строку вообще убери... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 16:46 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
ну да, так название организации и пишется... или я чего то не пойму... повторюсь, но поблема то в том, что при выборе из списка организаций менялся код их в другом поле... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 16:52 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
Я примерно представляю зачем это нужно...Т.е. когда ты выбираешь в списке название организации нужно чтобы в других полях отображалась информация об этой организации, типа - адрес, телефон и т.д. Так зачем тебе хранить код в другом поле, когда можно сделать выборку "SELECT .... WHERE КодОрганизации" = Me.SenderName.ItemData(Me.SenderName.ListIndex) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 17:06 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
а select подойдет? у меня ведь данные в xml файле? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 17:23 |
|
а теперь вопрос про XML
|
|||
---|---|---|---|
#18+
на счет XML я не работал, я имел ввиду запрос к базе, или рекордсет в качестве источника данных, хотя тебе же ничего не мешает заполнить рекордсет из XMl-файла. А потом работать с этим рекордсетом ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 18:17 |
|
|
start [/forum/topic.php?fid=60&msg=32278449&tid=2170676]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 361ms |
total: | 513ms |
0 / 0 |