Avatar billede tuba Nybegynder
18. juni 2005 - 12:25 Der er 4 kommentarer og
1 løsning

Datasource på CheckBoxList i DataGrid

Jeg har et datagrid hvori jeg har en checkboxlist. Hvordan binder je g data til denne checkboxliste når den befinder sig inde i en anden control ?
Avatar billede snepnet Nybegynder
18. juni 2005 - 14:06 #1
hej rubberglove :o)

du kan abbonnere på datagriddets ItemDataBound-event, og i den handler skrive kode til at databinde checkboxlisten.
f.eks.:
CheckBoxList cblist = e.Item.FindControl("someCheckBoxListId") as CheckBoxList;
if(cblist != null)
{
  cblist.DataSource = ...
  ...
  ...
  cblist.DataBind();
}

du skal så under alle omstændigheder have dig en metode der returnerer dig data til innerlisten - sikkert baseret på et id, og det kan du også angive deklarativ i aspx-koden med noget i denne stil :

<asp:CheckBoxList runat="server" DataTextField="SomeColumn" DataValueField="SomeOtherColumn" id="someList"
DataSource=<%# GetCheckBoxListData(container.dataitem("SomeId"))%>></asp:CheckBoxList>

altså... du benytter et id fra det dataitem der danner grundlag for det item du sætter innerlisten ind i, og udfra det henter du så noget "child-data".

din metode til at hente data kunne så være sådan noget i denne stil :
public DataTable GetCheckBoxListData(int someId)
{
  DataTable dt = new SomeDataAccessClass().GetBlahBlahBlah(someId);
  return dt;
}

giver det mening ?

mvh
Avatar billede tuba Nybegynder
18. juni 2005 - 19:48 #2
skal forstå det sådan at du præsenterer to løsningsmuligheder ? en hvor databind sker som følge af ItemDataBound-eventet og en hvor jeg på kontrollen erklærer en metode der retunerer data ?
Avatar billede snepnet Nybegynder
18. juni 2005 - 23:29 #3
mmmm.... nøh der har jeg nok været lidt uklar. du skal under alle omstændigheder have dig en metode du kan hente dine data med, og du kan så enten angive "hentningen" deklaretivt i din aspx-fil, eller programmatisk i din kode.
mvh
Avatar billede tuba Nybegynder
19. juni 2005 - 12:54 #4
ok.. så har jeg forstået... jeg har fået det til at virke på nær, at selvom jeg kun har defineret DataValueField´et så lader det til at den også fylder DataTextField´et... mærkeligt..
smid et svar så får du point !
Avatar billede snepnet Nybegynder
20. juni 2005 - 17:25 #5
et stk. svar :o)
mvh
(den sørger for at du få udfyldt begge, selvom du kun angiver den ene - du skal eksplisit angive begge vil du vil undgå automatikken)
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