Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генерирование контролов из XML 
V
    Опции темы
Telsystems
Дата 18.8.2013, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 26.7.2012

Репутация: нет
Всего: нет



Добрый день. Есть XML 

Код

<NewDataSet>
<OrganizationProperties>
    <OrganizationID>2118</OrganizationID>
    <FieldName>XMLTemplate</FieldName>

<FieldValue>
<billers  Col1Name="Key" Col2Name="Value">
    <MethodsList>
        <Method Name="строка вызова" type="Concatenate" ReadOnly="true" FieldName="@GMProp" Delimiter=""/>
    </MethodsList>
    <FieldsList>
        <Field label="ServiceId" Visible="false" Value="4"/>
        <Field label="@Prop" Visible="false" Value="msisdn=38" MethodName="строка вызова"/>
        <Field label="Телефон" Type="Целое число" IsObligatory="true" Value="050" MethodName="строка вызова" Stored="F1" Long="10"/>
        <Field label="ФИО" Type="ФИО" Stored="F2"/>
        <Field label="@GMProp" ReadOnly="true" Visible="false"/>
        <Field label="Сумма пополнения" Type="Дробное число" IsObligatory="true" Summable="true" Long="10,2"/>
        <Field label="@доп" ReadOnly="true" Visible="false" Value="; " MethodName="строка вызова"/>
    </FieldsList>
</billers>
</FieldValue>
<FieldOwner>true</FieldOwner>
    </OrganizationProperties>
  </NewDataSet>



В <FieldsList> находятся список полей, которые должны отобразиться на форме, а именно

Код

<Field label="Телефон" Type="Целое число" IsObligatory="true" Value="050" MethodName="строка вызова" Stored="F1" Long="10"/>


Должен бить TextBox с именем "Телефон", Text должен быть "050" и не превышать 10 симфолов.

и

Код

<Field label="Сумма пополнения" Type="Дробное число" IsObligatory="true" Summable="true" Long="10,2"/>


Тоже TextBox с именем "Сумма пополнения"

Вопрос :

Есть ли какие-то паресеры, или как можно правильно сделать реализацию такого задания?

Спасибо.
PM MAIL   Вверх
Cheloveck
Дата 18.8.2013, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 1
Всего: 32



Прочитать XML-ку руками -- как два пальца...
А вообще, задача уже реализована в DevExpress eXpress Application Framework.


--------------------
user posted image
PM Jabber   Вверх
Telsystems
Дата 18.8.2013, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 26.7.2012

Репутация: нет
Всего: нет



Цитата(Cheloveck @ 18.8.2013,  22:30)
Прочитать XML-ку руками -- как два пальца...
А вообще, задача уже реализована в DevExpress eXpress Application Framework.

да, но проблема в том, что контролы могут быть разные и разное количество. 
Я думал есть более простой способ, кроме как вручную парсить XML и подбирать контрол.
Например, как задать программно, что
Код

<Field label="Телефон" Type="Целое число" IsObligatory="true" Value="050" MethodName="строка вызова" Stored="F1" Long="10"/>

это TextBox ? 
DevExpress - не вариант, он платный.
PM MAIL   Вверх
Cheloveck
Дата 18.8.2013, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 1
Всего: 32



Цитата(Telsystems @  18.8.2013,  23:40 Найти цитируемый пост)
Например, как задать программно, что
    
<Field label="Телефон" Type="Целое число" IsObligatory="true" Value="050" MethodName="строка вызова" Stored="F1" Long="10"/>

это TextBox ? 


Чудес не бывает.
Код

switch(type) {
case "Целое число":
    return new TextBox(...);
...
}



Это сообщение отредактировал(а) Cheloveck - 18.8.2013, 23:35


--------------------
user posted image
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.