🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
7 messages
7 total messages Started by Marek Zgadzaj Wed, 31 Dec 2003 18:23
DataGrid - jak przestawiać kolumny ?
#339
Author: Marek Zgadzaj
Date: Wed, 31 Dec 2003 18:23
13 lines
1405 bytes
Uczę się C#, jestem na samym początku drogi. Do nauki używam Borland
C#Builder Personal i SharpDevelop.

W skrócie: Utworzyłem okno zawierające DataGrid. Podłączyłem MS SQL i za
pomocą metody podłączonej do klawisza załadowałem DataSet i po uruchomieniu
mogłem już przeglądać dane w DataGrid.

Zauważyłem, że nie mogę przestawiać kolumn, szukałem we własnościach
DataGrid i w końcu napisałem ten list.

Czy jest możliwe przestawianie kolumn ?

Marek
Re: DataGrid - jak przestawiaæ kolumny ?
#340
Author: Marthy
Date: Fri, 02 Jan 2004 07:43
16 lines
1617 bytes
> W skr�cie: Utworzy�em okno zawieraj�ce DataGrid. Pod��czy�em MS SQL i za
> pomoc� metody pod��czonej do klawisza za�adowa�em DataSet i po
uruchomieniu
> mog�em ju� przegl�da� dane w DataGrid.
>
> Zauwa�y�em, �e nie mog� przestawia� kolumn, szuka�em we w�asno�ciach
> DataGrid i w ko�cu napisa�em ten list.
>
> Czy jest mo�liwe przestawianie kolumn ?

Witam

Mozesz do tego uzyc klas DataGridTableStyle i DataGridColumnStyle oraz
wlasciwosci DataGrid.TableStyles

Marcin
Re: DataGrid - jak przestawiać kolumny ?
#341
Author: Marek Zgadzaj
Date: Fri, 02 Jan 2004 08:46
9 lines
1272 bytes
Użytkownik "Marthy" <mar...@poczta.onet.pl> napisał w wiadomości
news:bt37jh$jrf$1@atlantis.news.tpi.pl...
> Mozesz do tego uzyc klas DataGridTableStyle i DataGridColumnStyle oraz
> wlasciwosci DataGrid.TableStyles

Marcinie,
Dziękuję za naprowadzenie mnie,
Marek
Re: DataGrid - jak przestawiać kolumny ?
#342
Author: Marek Zgadzaj
Date: Mon, 05 Jan 2004 19:20
68 lines
4231 bytes
Użytkownik "Marthy" <mar...@poczta.onet.pl> napisał w wiadomości
news:bt37jh$jrf$1@atlantis.news.tpi.pl...
[..]
> Mozesz do tego uzyc klas DataGridTableStyle i DataGridColumnStyle oraz
> wlasciwosci DataGrid.TableStyles

Marcinie,

Dość długo ten problem maglowałem ale nie wydaje się aby to było możliwe za
pomocą ww. styli. Przede wszystkim nie ma (tzn, ja nie znalazłem), żadnej
własności, któraby cokolwiek miała wspólnego ze zmianą kolejności kolumn.

Przekopałem dokumentację próbując wyszukać informacje dotyczące "moving"
"reorder" "order" "column" itp. w różnych kombinacjach. Jedyne informacje
jakie znalazłem na nt. kolejności kolumn, w kontekście klasy DataGrid są
takie:

1. O kolejności kolumn decyduje kolejność ich zdefiniowania w Kolekcji, o
ile te kolumny są definiowane w kodzie (np. ręcznie lub za pomocą IDE).
2. W przypadku generowania kolumn automatycznie nie ma tych kolumn w
Kolekcji.

Odpowiedni fragment jest taki:
======== Fragment oposu z GridTableCollection Members =====================

You can also manually control which columns appear in the DataGrid control
by setting the AutoGenerateColumns property to false and then listing the
columns that you want to include between the opening and closing <Columns>
tags. The columns specified are added to the Columns collection in the order
listed. This allows you to programmatically control the columns in the
DataGrid control.

  Note   The order that the columns are displayed in the DataGrid control is
controlled by the order that the columns appear in the Columns collection.
Although you can programmatically change the order of the columns by
manipulating the Columns collection, it is easier to list the columns in the
desired display order.
Explicitly declared columns can be displayed in conjunction with
automatically generated columns. When using both, explicitly declared
columns will be rendered first, followed by the automatically generated
columns.

  Note   Automatically generated columns are not added to the Columns
collection.
================ Koniec fragmentu ===========================

Dalej następują własności, z których żadna nie dotyczy ewentualnej zmiany
kolejności kolumn.

Początkowo sądziłem, że skoro generuję kolumny automatycznie no to niewiele
mogę zrobić. Więc zdefiniowałem kolumny samemu i wynik jest ten sam., Tzn.
nie mogę zmienić kolejności kolumn przez przeciąganie myszką.

Mogę zmienić kolejność przez ponowne zbudowanie kolekcji ale chodzi o zmianę
dynamiczną.

Wiele innych cech kolumn można zmieniać i prawie wszystkim towarzyszy
wygenerowanie odpowiedniego zdarzenia. Przeszukałem zdarzenia związane z
DataGrid i kolumnami - nie istnieje  żadne zdarzenie informujące o tym, że
kolumna ma zmieniane swoje położenie.

Nie przypuszczam, aby to było niemożliwe, ale dla mnie jest niemożliwym to
znaleźć. Dlatego znowu proszę Cię o radę, napisz dokładniej, która własność
decyduje o możliwości zmieniania kolejności kolumn.

Pozdrawiam,
Marek
Re: DataGrid - jak przestawiać kolumny ?
#343
Author: Marek Zgadzaj
Date: Mon, 05 Jan 2004 19:47
37 lines
2955 bytes
Użytkownik "Marek Zgadzaj" <zga...@interia.pl> napisał w wiadomości
news:btcde8$rad$1@inews.gazeta.pl...
[...]
> Dość długo ten problem maglowałem ale nie wydaje się aby to było możliwe
za


Po wysłaniu poprzedniego listu przeszukałem jeszcze grupy dyskusyjne
microsoft.public.dotnet....

I znalałem wiele listów, w których autorzy pytają o to samo: Jak zmienić
kolejność kolumn ? Większość z tych listów pozostaje bez odpowiedzi. W kilku
innych natrafiłem na informację, która chyba może coś wyjaśni. Wg tych
informacji, o kolejności kolumn związanych z DataSet decyduje wyrażenie
SELECT, które wyprodukowało dane. Chcąc zmienić kolejność trzeba zmienić
SELECT. Nie ma możliwości zmiany kolejności kolumn jeśli są związane z
danymi.

Schowanie wybranej kolumny jest też problematyczne, znalazłem na ten temat
1-2 listy, z dość skomplikowanymi rozwiązaniami.

Trochę mnie to "zmroziło", ponieważ w obecnej starej technologii jakiej
używam, tj. CA-Visual Objects + odpowiedni browser danych -  nie mam
problemów z wierszami/kolumnami, wszystko jedno z czym zostały związane i
jak zostały utworzone. Chowam, wyświetlam niezależnie od danych. Użytkownik,
który sobie zmieni kolejność/schowa jakieś kolumny, zmieni ich rozmiar przy
ponownym otwarciu okna  dostaje je w takim samym stanie w jakim je zostawił.

Wracając do C#, być może trzebaby "odczepić" DataGrid od SELECT i zbudować
go inaczej w oparciu o coś innego, nie związanego bezpośrednio z DataSet,
tak aby mieć pełną swobodę w manipulacjach tabelą - za mało na ten temat
wiem...

Proszę i z góry dziękuję za każdy komentarz na te tematy....

Marek
Re: DataGrid - jak przestawiaæ kolumny ?
#344
Author: Marthy
Date: Tue, 06 Jan 2004 13:31
57 lines
3506 bytes
Czesc

O ile dobrze pamietam walczylem z tym jakis czas temu - odpowiednia
kolejnosc kolumn uzyskiwalem poprzez:
DataGridTableStyle.Add(DataGridColumnStyle)
w pozadanej kolejnosci.
Myslalem, ze chodzi ci o to, jak na etapie tworzenia kodu ustalic poczatkowa
kolejnosc kolumn.
A w ogole to kontrolka DataGrid pozostawia troche do zyczenia :-(

Marcin


U�ytkownik "Marek Zgadzaj" <zga...@interia.pl> napisa� w wiadomo�ci
news:btcevr$4vo$1@inews.gazeta.pl...
>
> U�ytkownik "Marek Zgadzaj" <zga...@interia.pl> napisa� w wiadomo�ci
> news:btcde8$rad$1@inews.gazeta.pl...
> [...]
> > Do�� d�ugo ten problem maglowa�em ale nie wydaje si� aby to by�o mo�liwe
> za
>
>
> Po wys�aniu poprzedniego listu przeszuka�em jeszcze grupy dyskusyjne
> microsoft.public.dotnet....
>
> I znala�em wiele list�w, w kt�rych autorzy pytaj� o to samo: Jak zmieni�
> kolejno�� kolumn ? Wi�kszo�� z tych list�w pozostaje bez odpowiedzi. W
kilku
> innych natrafi�em na informacj�, kt�ra chyba mo�e co� wyja�ni. Wg tych
> informacji, o kolejno�ci kolumn zwi�zanych z DataSet decyduje wyra�enie
> SELECT, kt�re wyprodukowa�o dane. Chc�c zmieni� kolejno�� trzeba zmieni�
> SELECT. Nie ma mo�liwo�ci zmiany kolejno�ci kolumn je�li s� zwi�zane z
> danymi.
>
> Schowanie wybranej kolumny jest te� problematyczne, znalaz�em na ten temat
> 1-2 listy, z do�� skomplikowanymi rozwi�zaniami.
>
> Troch� mnie to "zmrozi�o", poniewa� w obecnej starej technologii jakiej
> u�ywam, tj. CA-Visual Objects + odpowiedni browser danych -  nie mam
> problem�w z wierszami/kolumnami, wszystko jedno z czym zosta�y zwi�zane i
> jak zosta�y utworzone. Chowam, wy�wietlam niezale�nie od danych.
U�ytkownik,
> kt�ry sobie zmieni kolejno��/schowa jakie� kolumny, zmieni ich rozmiar
przy
> ponownym otwarciu okna  dostaje je w takim samym stanie w jakim je
zostawi�.
>
> Wracaj�c do C#, by� mo�e trzebaby "odczepi�" DataGrid od SELECT i zbudowa�
> go inaczej w oparciu o co� innego, nie zwi�zanego bezpo�rednio z DataSet,
> tak aby mie� pe�n� swobod� w manipulacjach tabel� - za ma�o na ten temat
> wiem...
>
> Prosz� i z g�ry dzi�kuj� za ka�dy komentarz na te tematy....
>
> Marek
>
Re: DataGrid - jak przestawiać kolumny ?
#345
Author: Marek Zgadzaj
Date: Tue, 06 Jan 2004 13:55
17 lines
1727 bytes
Marcinie,

Użytkownik "Marthy" <mar...@poczta.onet.pl> napisał w wiadomości
news:btedih$946$1@nemesis.news.tpi.pl...
> O ile dobrze pamietam walczylem z tym jakis czas temu - odpowiednia
> kolejnosc kolumn uzyskiwalem poprzez:
> DataGridTableStyle.Add(DataGridColumnStyle)
> w pozadanej kolejnosci.
> Myslalem, ze chodzi ci o to, jak na etapie tworzenia kodu ustalic
poczatkowa
> kolejnosc kolumn.
> A w ogole to kontrolka DataGrid pozostawia troche do zyczenia :-(

Dzięki za odpowiedź. Wolę wiedzieć, że tego obecnie nie da się zrobić,
trudno.. Myślę że zostanie to kiedyś zrobione...
Trzymaj się,
Marek
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