🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
9 messages
9 total messages Started by 3P Wed, 17 Feb 2010 23:18
Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21356
Author: 3P
Date: Wed, 17 Feb 2010 23:18
12 lines
1360 bytes
Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.

Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie  
podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?

Mogę zrobić dodatkowe property w obiekcie sklejające mi te klucze, a potem  
splitować dla zapytań do bazy.
Albo odziedziczyć kontrolkę po dropdown i dorobić możliwość ustawiania 2  
property jako Id. (to raczej odpada, bo wiele takich dropdownów nie  
potrzebuję)

Jakieś inne pomysły?
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21357
Author: yamma
Date: Thu, 18 Feb 2010 09:21
9 lines
1316 bytes
3P wrote:
> Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.
>
> Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie
> podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?

Jeśli sam zarządzasz wybraną pozycją w dropdownie, to masz właściwość 
SelectedItem, która przechowuje ci cały obiekt z podpiętej kolekcji.
yamma 
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21358
Author: 3P
Date: Sat, 20 Feb 2010 12:01
13 lines
1419 bytes
Dnia 18-02-2010 o 10:21:55 yamma <yamma@wp.pl> napisał(a):

> 3P wrote:
>> Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.
>>
>> Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie
>> podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?
>
> Jeśli sam zarządzasz wybraną pozycją w dropdownie, to masz właściwość  
> SelectedItem, która przechowuje ci cały obiekt z podpiętej kolekcji.
> yamma

Jak to? SelectedItem zwraca mi ListItem, a vluae string.
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21360
Author: 3P
Date: Sat, 20 Feb 2010 21:49
21 lines
1637 bytes
Dnia 20-02-2010 o 22:51:40 yamma <yamma@wp.pl> napisał(a):

> 3P wrote:
>> Dnia 18-02-2010 o 10:21:55 yamma <yamma@wp.pl> napisał(a):
>>
>>> 3P wrote:
>>>> Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.
>>>>
>>>> Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie
>>>> podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?
>>>
>>> Jeśli sam zarządzasz wybraną pozycją w dropdownie, to masz właściwość
>>> SelectedItem, która przechowuje ci cały obiekt z podpiętej kolekcji.
>>> yamma
>>
>> Jak to? SelectedItem zwraca mi ListItem, a vluae string.
>
> To jest ASP.NET czy Windows Forms?
> yamma

ASP.NET
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21359
Author: yamma
Date: Sat, 20 Feb 2010 21:51
17 lines
1576 bytes
3P wrote:
> Dnia 18-02-2010 o 10:21:55 yamma <yamma@wp.pl> napisał(a):
>
>> 3P wrote:
>>> Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.
>>>
>>> Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie
>>> podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?
>>
>> Jeśli sam zarządzasz wybraną pozycją w dropdownie, to masz właściwość
>> SelectedItem, która przechowuje ci cały obiekt z podpiętej kolekcji.
>> yamma
>
> Jak to? SelectedItem zwraca mi ListItem, a vluae string.

To jest ASP.NET czy Windows Forms?
yamma 
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21361
Author: yamma
Date: Sat, 20 Feb 2010 23:06
20 lines
1801 bytes
3P wrote:
> Dnia 20-02-2010 o 22:51:40 yamma <yamma@wp.pl> napisał(a):

>>>> Jeśli sam zarządzasz wybraną pozycją w dropdownie, to masz
>>>> właściwość SelectedItem, która przechowuje ci cały obiekt z
>>>> podpiętej kolekcji. yamma
>>>
>>> Jak to? SelectedItem zwraca mi ListItem, a vluae string.
>>
>> To jest ASP.NET czy Windows Forms?
>> yamma
>
> ASP.NET

A, to sorry. Ostatnio zajmuję się głownie WinFormsami i jakoś tak się 
zasugerowałem. W ASP.NET masz niestety do dyspozycji tylko to, co daje ci 
HTMLowa kontrolka czyli tekst i wartość. Ale, o ile się nie mylę, również 
możesz pobrać obiekt z kolekcji obiektów, którą przechowujesz we właściwości 
DataSource kontrolki za pomocą SelectedIndex.
yamma 
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21362
Author: Jakub Owczarski
Date: Sun, 21 Feb 2010 12:26
21 lines
1870 bytes
On Feb 17, 11:18 pm, 3P <nos...@serwer.pl> wrote:
> Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.
>
> Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie  
> podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?
>
> Mogę zrobić dodatkowe property w obiekcie sklejające mi te klucze, a potem  
> splitować dla zapytań do bazy.

Możesz sklejać w sql, i wcale nie splitować tylko używać sklejonego.
Np. sql do drodownlista
select id1 || '-' || id2 as val, thirdfield as txt from your_table

I potem jeżeli potrzebujesz szukać po selectedvalue to tak samo:

--
where id1|| '-' || id2 = :param

gdzie :param to jest selectedvalue twojego dd.

Pzdr.
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21363
Author: 3P
Date: Sun, 21 Feb 2010 14:29
31 lines
2129 bytes
Dnia 21-02-2010 o 13:26:50 Jakub Owczarski <jakub.owczarski@gmail.com>  
napisał(a):

> On Feb 17, 11:18 pm, 3P <nos...@serwer.pl> wrote:
>> Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.
>>
>> Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie  
>> podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?
>>
>> Mogę zrobić dodatkowe property w obiekcie sklejające mi te klucze, a  
>> potem splitować dla zapytań do bazy.
>
> Możesz sklejać w sql, i wcale nie splitować tylko używać sklejonego.
> Np. sql do drodownlista
> select id1 || '-' || id2 as val, thirdfield as txt from your_table
>
> I potem jeżeli potrzebujesz szukać po selectedvalue to tak samo:
>
> --
> where id1|| '-' || id2 = :param
>
> gdzie :param to jest selectedvalue twojego dd.
>
> Pzdr.
>

To bardzo brzydkie rozwiązanie. Bazy i procedur składowanych nie powinno  
interesować, że binduję coś do dropdowna.
Już lepiej dodać property w klasie, albo nad czym ostatnio myślałem zrobić  
obiekt anonimowy tylko na czas bindowania, który miałby property, które  
łączy 2 property oryginalnego obiektu.
Re: Bindowanie do dropdowna - własna klasa 2 kolumnowe ID
#21364
Author: Jakub Owczarski
Date: Sun, 21 Feb 2010 15:46
21 lines
2240 bytes
On Feb 21, 2:29 pm, 3P <nos...@serwer.pl> wrote:
> >> Chciałbym podbindować kolekcje swoich obiektów pod dropdown-a.

> >> Obiekty mają w bazie klucz dwu kolumnowy. Czy można to jakoś fajnie  
> >> podpiąć pod dropdowna, aby uzyskiwać odpowiednie SelectedValue?

> >>Albo odziedziczyć kontrolkę po dropdown i dorobić możliwość ustawiania 2
> >>property jako Id. (to raczej odpada, bo wiele takich dropdownów nie
> >>potrzebuję)

DropDownList ma dwie właściwości które możesz podpiąć "DataTextField"
i "DataValueField". Wydaje mi się, że nie wepchasz dwóch pól do
SelectedValue w żaden naturalny sposób, musisz użyć albo jakichś haków
na samym dd, albo po stronie bazy.
Wiodcznie źle zrozumiałem Twoje pytanie, ale myślałem, że chcesz
jednak bez ingerowania w dd wepchać to do SelectedValue.

Nie zapomnij pokazać rozwiązania którego użyjesz, zawsze to dobrze się
czegoś nauczyć.

Pzdr
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads