Avatar billede agertoft Nybegynder
23. oktober 2004 - 11:55 Der er 4 kommentarer og
1 løsning

Filter på kolonner i DataGrid

Jeg har et DataGrid, hvis DataSource er sat til at være en DataTable. Denne DataTable er en tabel af et DataSet.

Mit spørgsmål er, hvordan jeg filtrerer kolonnerne i mit DataGrid. Fx har jeg en tabel med kolonnerne ID, Navn, Adresse og Alder. Nu vil jeg gerne have Navn til at blive vist i mit DataGrid. Hvordan filtrerer jeg de resterende kolonner væk?
Avatar billede snepnet Nybegynder
23. oktober 2004 - 12:06 #1
du kan sætte hele kolonnen til Visible=false, hvis du har sat kolonner ind i din template - eller på anden måde har angivet dem.

alternativt kan du i ItemDataBound-eventet sørge for at sætte visible = false på kolonnen, pr. linie.

øhh.... blev vist lidt tåget... kan du få det til at give mening ?
mvh
Avatar billede agertoft Nybegynder
23. oktober 2004 - 12:21 #2
Nej jeg er vist ikke helt med. Måden jeg har lavet DataBind på er sådan her:

oDataTable2 = oDataSet.Tables["ClubsCourse"];

courseInfoDataGrid.DataSource = oDataTable2;
courseInfoDataGrid.DataBind();

Så lister den automatisk alle kolonnerne i datagrid'et. Er der da en alternativ mere "custom" måde at gøre det på, så jeg kan sætte properties på hver enkel kolonne?
Avatar billede snepnet Nybegynder
23. oktober 2004 - 12:34 #3
ja der findes nogle stykker, men den jeg synes den første du skal prøve er at angive en template i din aspx-fil.

en simpel template kunne se sådan her ud :
(hvis du selv indsætter kolonner skal du sørge for at sætte AutoGenerateColumns="False" - ellers får du kolonner dobbelt i griddet).

<asp:DataGrid id="grid" runat="server"  AutoGenerateColumns="False">
    <Columns>
        <asp:BoundColumn DataField="SomeString" HeaderText="Header"></asp:BoundColumn>
    </Columns>
</asp:DataGrid>

Ovenstående sørger for at der kommer én kolonne i griddet med headerteksten HeaderText, og indholdet fra den kolonne i datakilden der hedder SomeString.

hvis du bruger visual studio kan du generere det i designeren ved at højreklikke på dit datagrid, og derefter på propertybuilder.

Når kolonnerne på den måde er kendt af griddet, skulle du heller ikke have nogle problemer med at angive f.eks.

someDataGrid.Columns[0].Visible = false;

jeg er væk de næste par timer, men jeg skal nok kigge efter om du har skrevet når jeg kommer hjem igen.

håber du kan bruge det til et eller andet.

mvh
Avatar billede agertoft Nybegynder
23. oktober 2004 - 12:48 #4
Jamen altså... jeg takker endnu en gang :)

Læg et svar..
Avatar billede snepnet Nybegynder
23. oktober 2004 - 16:30 #5
et svar :o)
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