Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Databinding / 7 сообщений из 7, страница 1 из 1
19.09.2011, 19:30
    #37446916
itnovice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Databinding
Добрый дент ув гуру.

Скажу честно с Silverlight-ом не знаком, но пытаюсь разбираться... Мне не понятна одна вещь - DataBinding....
Вот к примеру у меня есть некая таблица, по всем примерам, я видел что работа с ней - наполнение данных осуществляется с помощью Databindniga - т.е. говоря на языке Java - бина. По всем примерам видел что-то типа такого

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
public class Product
{
private string modelNumber;
public string ModelNumber
{
get { return modelNumber; }
set { modelNumber = value; }
}
private string modelName;
public string ModelName
{
get { return modelName; }
set { modelName = value; }
}
private double unitCost;
public double UnitCost
{
get { return unitCost; }
set { unitCost = value; }
}
private string description;
public string Description
{
get { return description; }
set { description = value; }
}
public Product(string modelNumber, string modelName,
double unitCost, string description)
{
ModelNumber = modelNumber;
ModelName = modelName;
UnitCost = unitCost;
Description = description;
}
}


// Binding code 

<Grid Name="gridProductDetails">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Margin="7">Model Number:</TextBlock>
<TextBox Margin="5" Grid.Column="1"
Text="{Binding ModelNumber}"></TextBox>
<TextBlock Margin="7" Grid.Row="1">Model Name:</TextBlock>
<TextBox Margin="5" Grid.Row="1" Grid.Column="1"
Text="{Binding ModelName}"></TextBox>
<TextBlock Margin="7" Grid.Row="2">Unit Cost:</TextBlock>
<TextBox Margin="5" Grid.Row="2" Grid.Column="1"
Text="{Binding UnitCost}"></TextBox>
<TextBlock Margin="7,7,7,0" Grid.Row="3">Description:</TextBlock>
<TextBox Margin="7" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2"
TextWrapping="Wrap" Text="{Binding Description}"></TextBox>
</Grid>



А если я хочу генерировать таблицу на лету? допустим по результату получения sql запроса
...
Рейтинг: 0 / 0
20.09.2011, 10:58
    #37447535
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Databinding
так ты создай binding между экземпляром таблицы и объектом виузальным.
и заполняй свою таблицу когда хочешь.
...
Рейтинг: 0 / 0
20.09.2011, 11:08
    #37447569
itnovice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Databinding
а если таблицы генерируются.заполняются данными на лету?
...
Рейтинг: 0 / 0
20.09.2011, 11:11
    #37447579
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Databinding
ну, точнее, точнее. покажи, кодом, как живут твои фантазии.
...
Рейтинг: 0 / 0
20.09.2011, 11:19
    #37447617
koJIo6ok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Databinding
а что <Grid Name="gridProductDetails"> для отображения набора данных?
...
Рейтинг: 0 / 0
20.09.2011, 14:57
    #37448194
itnovice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Databinding
AlexeiKну, точнее, точнее. покажи, кодом, как живут твои фантазии.

К сожалению, не могу :( я не совсем силен в деталях .NET-a (пишу на JavaEE, но "партия сказала НАДО", поэтому я пытаюсь хотябы понять можно ли такое, или забить в делать на жабе...).

Есть сильверлайтовский фрейморк ( http://componentart.com в нем есть всякие чарты, датагриды и т.д.) Во всем примерах что я видел ( http://docs.componentart.com/#SlDataVisualization/2011/ComponentArt.Silverlight.DataVisualization/Charting_HowTo_DynamicSeriesCreation.htm), данные забиваються таким вот образом что я привел в первый раз. Т.е. я должен создать некий POCO класс с гетерами\сетарими, и каждый график будет биндиться на этот чарт\датагрид. Но получается что таким образом это очень сильный хардкод.
Задача заключается в полной динамике... Допустим, у пользователя должна быть возможность динамически выбрать сколько колонок нужно отобразить на датагриде? Вопрос в след. как это можно сделать если все осущ через датабиндинг? + ко всему, я не могу быть уверен что таблица существует вообще, она может в результате того-или иного события удлиться\создастса и т.д.

P.S. прошу прошения, если кому-то покажется это бутафорией, я просто прошу совета, можно ли такое сделать, какой-нибудь линк на пример
...
Рейтинг: 0 / 0
20.09.2011, 15:07
    #37448225
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Databinding
в .net
создание таблицы
заполнение таблицы

это два разных действия. сечешь?
можешь один раз создать таблицу.
заполнить. очистить, заполнить и т.д.
но сам объект таблица остается жить.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Databinding / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]