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


Hålla en DataTable vid liv och kunna lägga till o radera i den.

Postades av 2007-06-28 11:46:21 - Johannes Strömberg, i forum asp.net generellt, Tråden har 2 Kommentarer och lästs av 743 personer

Halloj!

Jag har ett fält i en databas som är semikolonseparerat (värde1;värde2;värde3; o s v).
Dessa värden har jag lagt splittat och med en array lagt in varje värde på en enskild rad
i en DataTable och sen knutit den till en GridView via koden:

<code>
DataTabell = New System.Data.DataTable("Lista")
DataTabell.Columns.Add("ID", GetType(Integer))
DataTabell.Columns("ID").AutoIncrement = True
DataTabell.Columns("ID").AutoIncrementSeed = 1
DataTabell.Columns.Add("ListText", GetType(String))

If Len(rs("PunktLista").ToString) > 0 Then
Dim PunktArray As Array
PunktArray = Split(rs("PunktLista").ToString, ";")

Dim i As Integer
For i = LBound(PunktArray) To UBound(PunktArray)
DataRad = DataTabell.NewRow
DataRad("ListText") = PunktArray(i)
DataTabell.Rows.Add(DataRad)
Next

dgPlista.DataSource = DataTabell
dgPlista.DataBind()

End If

Session("DTabell") = DataTabell
</code>

Jag har lagt en liten textbox med en "lägg till" knapp på som kör följande kod:

<code>
DataTabell = Session("DTabell)

DataRad = DataTabell.NewRow
DataRad("ListText") = tbPlista.Text
DataTabell.Rows.Add(DataRad)

Session("DTabell") = DataTabell

Me.dgPlista.DataSource = DataTabell
Me.dgPlista.DataBind()

tbListText.Text = ""
</code>

Vilket verkar funka som det ska.

När användaren sedan så trycker på "spara ändringar" så blir det följande:
<code>
Dim Plista As String
Plista = ""
DataTabell = Session("DTabell")
For Each DataRad In DataTabell.Rows
Plista = Plista & DataRad("ListText") & ";"
Next
</code>

Nu till kruxet!

I GridView:n har jag också lagt en Deletebutton enligt följande:

<code>
<asp:GridView
ID="dgPlista"
runat="server"
BackColor="LightGoldenrodYellow"
BorderColor="Tan"
BorderWidth="1px"
CellPadding="2"
CssClass="normText"
ForeColor="Black"
GridLines="None"
Width="240px"
DataKeyNames="ID"
AutoGenerateColumns="False"
OnRowDeleting="DelListP"
>
<Columns>
<asp:CommandField
HeaderText="Radera"
DeleteText="Radera"
ShowDeleteButton="True" />
<asp:BoundField
DataField="ID"
HeaderText="Rad" />
<asp:BoundField
DataField="ListText"
HeaderText="Punkttext" />
</Columns>
<FooterStyle BackColor="Tan" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<AlternatingRowStyle BackColor="PaleGoldenrod" />
</asp:GridView>
</code>

och i code behind så har jag lagt följande om användaren triggar OnRowDeleting:

<code>
Protected Sub DelListP(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs) Handles dgPlista.RowDeleting
Dim row = e.RowIndex
DataTabell = Session("DTabell")
DataTabell.Rows.RemoveAt(row)

Me.dgPlista.DataSource = DataTabell
Me.dgPlista.DataBind()

End Sub
</code>

Men här får jag bara felmeddelandet:

<b>Object reference not set to an instance of an object.</b>
på raden
<code>
DataTabell.Rows.RemoveAt(row)
</code>

Jag förstår inte. Jag har försökt lära mig detta men just med att radera rader i DataTabeller och liknande så är jag helt lost.

Någon som kan hjälpa mig?

//Johannes


Svara

Sv: Hålla en DataTable vid liv och kunna lägga till o radera i den.

Postades av 2007-06-28 18:56:45 - Andreas Hillqvist

Du skall inte ha värden som är komma separerade. Komplicerar bara det för dig.
Lägg istället till en tabell för värdena.


Svara

Sv:Hålla en DataTable vid liv och kunna lägga till o radera i den.

Postades av 2007-06-28 19:07:07 - Johannes Strömberg

Det stora kruxet här är att det är en gammal databas och jag har inte så mycket val mer än att hålla mig till den nuvarande strukturen. Jag har försökt, men nepp, det gås inte med på.

//Johannes


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 169
27 953
271 705
792
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