Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


GridView i en Repeater?

Postades av 2006-11-17 17:42:49 - Pär Hedberg, i forum asp.net generellt, Tråden har 7 Kommentarer och lästs av 400 personer

Hej på er!

Nu får jag snart spader..
Har tidigare jobbat med ASP och försöker mig nu på ASP.NET VB Style..

Jag vill väldigt gärna peta in en GridView i en Repeater, med olika parametrar till gridviewns datasource för varje ny rad i repeatern...

I Repeaterns datasource finns ett id "Admin_Rights_ID".. Den vill jag få in som en parameter i en datasource som jag lägger in under <ItemTemplate> på repeatern..

Jag lyckas verkligen inte hur jag än vänder och vrider på det! =)

Nån som har nån idé?

Lite förenklat:


<asp:Repeater ID="Repeater1" runat="server" DataSourceID="Admin_Pages_List">
                   <ItemTemplate>
                    <asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString="blabla"
                        ProviderName="System.Data.SqlClient"
                        SelectCommand="SELECT [UserName], [PermittedBy], [Created] FROM [BW_Admin_Pages_Rights] WHERE ([Admin_Page_ID] = @Admin_Page_ID)">
                        <SelectParameters>
                            <asp:Parameter Name="Admin_Page_ID" DefaultValue="1" />
                        </SelectParameters>
                    </asp:SqlDataSource>


Svara

Sv: GridView i en Repeater?

Postades av 2006-11-17 18:51:49 - Mikael Åhlén

Hej Pär,

Det enklaste vore ju ifall du använde dig utav OnItemDatabound-eventet och där binda gridviewens data.

Ett kort exempel (var länge sedan jag skrev vb syntax men jag ska försöka skriva allt korrekt):

<asp:Repeater id="myRepeater" runat="server" OnItemDataBound="myRep_ItemDataBound">
     <ItemTemplate>
             ...
             <asp:GridView id="myGridView ... />
     </ItemTemplate>
</asp:Repeater>


Sedan så skapar vi OnItemDatabound eventet i codebehind-filen

Protected Sub myRep_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)

     ' Här gör vi en FindControl och försöker hitta myGridView och även typa om den från en Control till en GridView
     Dim myGrid As GridView = CType(e.Item.FindControl("myGridView"), GridView)

     ' Du har nu alla möjligheter att göra vad du vill med din GridView
     ' Ex. binda datan som du också ska göra.

     ' Du kan hämta ut datan via e.Item.DataItem(...) för den aktuella raden.

     Dim _id As Int32 = e.Item.DataItem("Admin_Page_ID")

     myGrid.DataSource = DataHelper.GetSomeDataById(_id) ' din list(a)
     myGrid.DataBind()
End Sub


Något likt detta bör fungera.

/m


Svara

Sv:GridView i en Repeater?

Postades av 2006-11-20 10:32:09 - Pär Hedberg

Hej!

Tack för ditt tips.. Får det inte att fungera helt dock..

På raden "Dim _id As Int32 = e.Item.DataItem("Admin_Page_ID")" så får jag felet:

System.NullReferenceException: Object variable or With block variable not set.

Antagligen så borde ju felmeddelandet säga mig nåt, men icke.. =)

//Pär


Svara

Sv: GridView i en Repeater?

Postades av 2006-11-20 11:18:37 - Mikael Åhlén

Hej,

Jag var för snabb när jag skrev, du måste typa om e.Item.DataItem till "din sort".

om du skulle använda en klass vid namn Customer så skulle det se ut ungefär så här:

Dim customer As Customer = CType(e.Item.DataItem, Customer)

' Men antagligen använder du ingen speciell klass och då så kan du använda dig utav

Dim datarow As DbDataRecord = CType(e.Item.DataItem, DbDataRecord)

' Sedan använder du det som datarow("kolumn")

Response.Write(datarow("kolumn"))


Svara

Sv:GridView i en Repeater?

Postades av 2006-11-20 12:03:08 - Pär Hedberg

Hmm.. Nu kommer jag lite längre i scriptet.. :)

        Dim myGrid As GridView = CType(e.Item.FindControl("GridView1"), GridView)

        Dim datarow As Data.Common.DbDataRecord = CType(e.Item.DataItem, Data.Common.DbDataRecord)

        Dim Conn As New System.Data.SqlClient.SqlConnection(...)
        Dim ds As New System.Data.DataSet
        Dim SqlAdapter As New System.Data.SqlClient.SqlDataAdapter

        SqlAdapter.SelectCommand = New System.Data.SqlClient.SqlCommand

        With SqlAdapter.SelectCommand
            .Connection = (Conn)
            .CommandText = "SELECT * FROM BW_Admin_Pages_Rights WHERE Admin_Page_ID = @AdminPageID"

            With .Parameters
                .Add("@AdminPageID", Data.SqlDbType.Int)
            End With
        End With

        SqlAdapter.SelectCommand.Parameters("@AdminPageID").Value = datarow("Admin_Page_ID")





Nu är det SqlAdapter.SelectCommand.Parameters("@AdminPageID").Value = datarow("Admin_Page_ID")
som får samma fel som tidigare..

:(


Svara

Sv: GridView i en Repeater?

Postades av 2006-11-20 13:59:38 - Mikael Åhlén

Hej,

Hur ser SQLen ut för din Repeater? Tillhör admin_page_id repeatern eller gridviewen?

/m


Svara

Sv:GridView i en Repeater?

Postades av 2006-11-20 14:30:11 - Pär Hedberg

Source för repeater:

<asp:SqlDataSource ID="Admin_Pages_List" runat="server" ConnectionString="..." ProviderName="System.Data.SqlClient" 
SelectCommand="SELECT p.Name, p.URL, p.Description, p.Admin_Page_ID FROM BW_Admin_Pages AS p ORDER BY p.Name">
</asp:SqlDataSource>


Source för GridView:
.CommandText = "SELECT * FROM BW_Admin_Pages_Rights WHERE Admin_Page_ID = @AdminPageID"
With .Parameters
   .Add("@AdminPageID", Data.SqlDbType.Int)
End With


Svara

Sv: GridView i en Repeater?

Postades av 2006-11-27 12:47:33 - Pär Hedberg

Någon mer som har nåt tips..

Det vill sig fortfarande inte..


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 170
27 953
271 705
4 061
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies