Avatar billede ui Nybegynder
18. august 2004 - 14:11 Der er 4 kommentarer og
1 løsning

Direkte adgang til indholdet af et dataGrid's andre sider?

Jeg er interesseret i at få adgang til indholdet af et datagrid's andre sider, foruden den viste, uden at skulle igennem objektet det er bundet til.

For hvis jeg skal gøre det via mit DataView, som det er bundet til, så skal jeg vel også lave om på sorteringen i DataView'et, så det stemmer overens med sorteringen i mit DataGrid. Det synes jeg er lidt besværligt og jeg vil gerne skille de to ting ad. Når jeg har bundet mit DataView er jeg færdig med det. Eller har jeg misforstået noget?

Problemet har faktisk fået mig til at overveje at skrotte DataGrid'et og lave min egen class fra bunden. Så ved man jo hvad man har med at gøre og skal ikke til at rode rundt med Microsoft's finurligheder. I det gamle ASP lavede jeg noget der mindede om et datagrid, blot uden alle de medfølgende funktioner i .Net's DataGrid, men med nogle andre ting som jeg gerne vil drage fordel af.
Avatar billede snepnet Nybegynder
18. august 2004 - 19:13 #1
Det er udbredt at binde til et sorteret dataview, hvorved grid og dataview naturligt holder samme sortering.

hvordan laver du sorteringen på dit datagrid, så dataview og grid kan være "ude af sync" ?

Mvh
Avatar billede ui Nybegynder
23. august 2004 - 14:00 #2
Tak snepnet,
.net er jo lidt af en jungle. Men mest en god jungle ;-) Og jeg vil gerne lave en god viderebygning på det gængse datagrid.

Så tilføjer jeg blot en property i min superdatagrid class der henviser til et DataView, således at sorteringen har noget at arbejde med i min OnSortCommand.

Mht. dit spørgsmål:
Man kan via et DataGrids Attributes collection angive hvilken kolonne den sorterer efter på den side man er på (henviser til html'en):

private void OnSortCommand(object source, DataGridSortCommandEventArgs e)
{
  string strSortExpression=Attributes["SortExpression"];
  string strSortedAscending=Attributes["SortedAscending"];
  Attributes["SortExpression"]=e.SortExpression;
  Attributes["SortAscending"]="yes";
  if (e.SortExpression==strSortExpression)
    Attributes["SortAscending"]=(strSortedAscending=="yes" ? "no" : "yes");
}

Det er jeg heller ikke interesseret i. Jeg vil naturligvis gerne starte forfra fra side 1 hver eneste gang, der bliver ændret i sorteringen.
Avatar billede snepnet Nybegynder
23. august 2004 - 23:26 #3
sorry... undskyld jeg ikke har været her - en lille smutter :o(

jeg tror måske ikke jeg helt har forstået hvad du spørger om - kan du ikke sætte dit pageindex til 1 når brugeren sorterer ?

men bortset fra det... hvis du vil have sortering og den slags ting "out-of-the-box", kan du benytte den gridkontrol der er shippet med webmatrix.
den kan alt hvad der skal til af sortering og den slags, hvis du benytter den sammen med den datasourcecontrol der også følger med.
(den er også meget let at få ind i visual studio hvis det er det du bruger... Det er bare drag/drop fra toolbox i webmatrix, til toobox i vs)

og... ASP.NET 2.0 huser et GridView som er endnu bedre, men hvis det er for "uddannelsen" i at lave det er det jo bare at fortsætte :o)

spørg endelig hvis der er noget... men det ville være fint, hvis du smed lidt mere kode ud, og uddybede dit spørgsmål lidt.
jeg skal nok være lidt mere opmærksom på spørgsmålet - så der ikke gå så lang tid før jeg svarer næste gang.

Mvh
Avatar billede ui Nybegynder
25. august 2004 - 14:10 #4
Takker. Det lyder godt. Jeg viser lige hvad jeg har lavet, hvis jeg får det lavet rigtigt og hvis ikke, så spørger jeg igen ;-)

Iøvrigt, for at lyde lidt som en "bruger": Hvor giver man point?
Avatar billede snepnet Nybegynder
25. august 2004 - 14:16 #5
Jeg smider et svar (som her), og så skulle jeg dukke op på en liste, hvor du kan markere navnet + acceptere svaret.

Jeg glæder mig til at se hvad du har lavet, men det bliver nok sent i aften før jeg får tid til at glugge det igennem desværre.

mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester