Avatar billede aero Nybegynder
11. december 2010 - 10:48 Der er 7 kommentarer og
1 løsning

Kan denne code laves kortere

Dim nodata As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("NoData"), Label)
        If nodata Is Nothing Then
            nodata.Text = "Der findes ingen data der machter din forespørgsel."
        End If

        Dim lbl As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("PValue"), Label)

        If lbl Is Nothing Then
            lbl.Text = "0"
        Else
            lbl.Text = Q.ToList.Count()
        End If
Avatar billede The Real Yoda Juniormester
11. december 2010 - 11:11 #1
Dim nodata As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("NoData"), Label)
        If nodata Is Nothing Then nodata.Text = "Der findes ingen data der machter din forespørgsel."
     

        Dim lbl As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("PValue"), Label)
       
        lbl.Text = Q.ToList.Count()
        If lbl Is Nothing Then lbl.Text = "0"
       


men det er ikke meget det rykker
Avatar billede arne_v Ekspert
11. december 2010 - 23:52 #2
Måske ikke kortere, men bedre !

If MyRep.Controls.Count > 0 Then
        Dim lbl As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("PValue"), Label)
      lbl.Text = Q.ToList.Count()
Else
  nodata.Text = "Der findes ingen data der machter din forespørgsel."
End If

Eventuelt:

If MyRep.Controls.Count > 0 Then
        Dim lbl As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("PValue"), Label)
      If lbl Is Nothing Then
          Throw New Exception("Houston we have a problem")
      End If
      lbl.Text = Q.ToList.Count()
Else
  nodata.Text = "Der findes ingen data der machter din forespørgsel."
End If
Avatar billede aero Nybegynder
12. december 2010 - 00:03 #3
Hej begge..

Arne jeg måtte lige ændre lidt på det og så virker det for skal jo findcontrol("NoData")


            If MyRep.Controls.Count > 0 Then
                Dim lbl As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("PValue"), Label)
                If lbl Is Nothing Then
                    Throw New Exception("Houston we have a problem")
                End If
                lbl.Text = Q.ToList.Count()
            Else
                Dim nodata As Label = CType(MyRep.Controls(MyRep.Controls.Count - 1).FindControl("NoData"), Label)
                nodata.Text = "Der findes ingen data der machter din forespørgsel."
            End If
Avatar billede arne_v Ekspert
12. december 2010 - 00:07 #4
Den tror jeg ikke på.

Hvis MyRep.Controls.Count <= 0, så vil MyRep.Controls(MyRep.Controls.Count - 1) altid give en fejl !

Du kan ikke skrive noget i en række hvis der ingen rækker er!
Avatar billede aero Nybegynder
12. december 2010 - 00:15 #5
okam men hvis den Dim linje íkke er der så melder den fejl ang. nodata.Text
Avatar billede arne_v Ekspert
12. december 2010 - 00:30 #6
Lav nodata som en Label udenfor repeateren.

Vis teksten hvis reprateren ikke viser noget og "" hvis der er noget i repeateren.
Avatar billede arne_v Ekspert
12. december 2010 - 00:30 #7
Eller put tekst i repeater header eller footer som jeg formoder vises selv uden rækker.
Avatar billede arne_v Ekspert
03. marts 2011 - 03:59 #8
OK?
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
Kurser inden for grundlæggende programmering

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