16. juli 2002 - 15:03Der er
11 kommentarer og 1 løsning
Datagrid...
Hejsa!
Jeg har et spørgsmål, som garanteret er "piece of cake", men jeg er stadig lidt ny i forhold til C# og .Net!
Mit problem er, at jeg har hentet noget data ud fra databasen, som jeg nu gerne vil vise som en "Afstemning" i et datagrid.
Problemet er så, at hvis jeg bruger Datagrid, så vil den vise "Spørgsmålet" og "Svaret" i tabeller ved siden af hinanden, og altså ikke under hinanden.
For lige at uddybe lidt kommer her et eksempel. Jeg er selv utrolig glad for repeater-kontrollen, da denne er nem tilpasse ens eget behov. ------------------------- <asp:repeater id="myRepeater" runat="server"> <HeaderTemplate> <table> </HeaderTemplate> <ItemTemplate> <tr bgcolor="#ffffff"> <td>Question:</td> <td><%# DataBinder.Eval(Container.DataItem, "Question") %></td> </tr><tr bgcolor="#bbbbbb"> <td>Answer:</td> <td><%# DataBinder.Eval(Container.DataItem, "Answers") %></td> </tr> </ItemTemplate> <SeparatorTemplate> <tr height="1px" bgcolor="#909090"><td/></tr> </SeparatorTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater>
Du binder dit datasæt til MyRepeater, præcis som du ville gøre med et datagrid. Dvs. MyRepeater.DataSource = MyDataSet MyRepeater.DataBind()
De dersens Container.DataItem refererer blot til datasættet. Sådan gør man nu engang bare :-) Du kan også nøjes med at skrive <%# Container.DataItem("Question") %> hvis du ikke skal ændre på værdierne (f.eks. formaterer datoer, tal osv.).
Ifølge SDK'en, hører DataItem iøvrigt til under RepeaterItem-klassen. Hvis du har SDK'en installeret, kan du se her: ms-help://MS.NETFrameworkSDK/cpref/html/frlrfsystemwebuiwebcontrolsrepeateritemmemberstopic.htm
Nu kræver eksemplet jo at du har et dataset med kolonnerne "Question" og "Answers". Dette skal du huske at binde til repeater'en. Hvad får du af fejl ?
Jeg får ingen fejl, men heller ikke noget output whatsoever! Jeg har naturligvis en database med Question og Answers i! Problemet, tror jeg, er min DataBinding, som ikke helt virker efter hensigten!
SqlConnection myConn = new SqlConnection("server=localhost;database=tr;Trusted_Connection=yes"); SqlDataAdapter myCommand = new SqlDataAdapter("select * from QUESTIONNAIRE",myConn); DataSet ds = new DataSet(); myRepeater.DataSource=ds; myRepeater.DataBind();
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.