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


Ser inte felet, HJÄÄÄÄLP

Postades av 2007-01-11 19:51:26 - Magnus Gustafson, i forum asp.net generellt, Tråden har 4 Kommentarer och lästs av 754 personer

Nedanstående fungerar utan problem
<code>
Private Sub SubmitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SubmitButton.Click
dgShowCustomer.Visible = False
' Count the number of selected items in the DataGrid control.
Dim count As Integer = 0
' Iterate through each item (row) in the DataGrid control and
' determine whether it is selected.
Dim item As DataGridItem
For Each item In dgShowCustomer.Items
DetermineSelection(item, count)
Next
End Sub

Sub DetermineSelection(ByVal item As DataGridItem, ByRef count As Integer)
' Retrieve the SelectCheckBox CheckBox control from the
' specified item (row) in the DataGrid control.
Dim selection As CheckBox = CType(item.FindControl("SelectCheckBox"), CheckBox)
'Dim Summa As Double

' If the item is selected, display the appropriate message and
' increment the count of selected items.
If Not selection Is Nothing Then
If selection.Checked Then
'btnUpdateCustomer.Visible = True
tblUpdateCustomer.Visible = True
txtUpdateCompany.Text = item.Cells(1).Text
txtUpdateAdress.Text = item.Cells(2).Text
txtUpdateZip.Text = item.Cells(3).Text
txtUpdateOrt.Text = item.Cells(4).Text
txtUpdatePhone.Text = item.Cells(5).Text
txtUpdateFax.Text = item.Cells(6).Text
txtUpdateCellPhone.Text = item.Cells(7).Text
txtUpdateEmail.Text = item.Cells(8).Text
txtUpdateUrl.Text = item.Cells(9).Text
txtUpdateCustomerNumber.Text = item.Cells(10).Text
txtUpdateContact.Text = item.Cells(11).Text
End If
End If
End Sub
</code>

Men denna fungerar inte:
<code>
Private Sub btnArkiveraTidRapport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnArkiveraTidRapport.Click
dgTidRapportering.Visible = False
Dim item As DataGridItem
Dim count As Integer = 0
For Each item In dgTidRapportering.Items
DetermineSelectionArkiveraTidRapport(item, count)
Next
End Sub

Sub DetermineSelectionArkiveraTidRapport(ByVal item As DataGridItem, ByRef count As Integer)
Dim selection As CheckBox = CType(item.FindControl("SelectCheckBox"), CheckBox)
Dim intId As Integer
If Not selection Is Nothing Then
If selection.Checked Then
intId = item.Cells(0).Text
End If
End If
'hämta kopplingssträngen.
Dim strDbConnect As String
strDbConnect = koppling(strDbConnect)
Dim msnConnect As New Odbc.OdbcConnection(strDbConnect)
Dim sqlStr As String = UpdateTidRapport(intId)
Dim McnCommand As New Odbc.OdbcCommand(sqlStr, msnConnect)
Dim numRowsEffected As Integer = 0
Try
McnCommand.Connection.Open()
numRowsEffected = McnCommand.ExecuteNonQuery()
McnCommand.Connection.Close()
msnConnect.Close()
dgTidRapportering.Visible = True
btnArkiveraTidRapport.Visible = True
btnJusteraTidRapport.Visible = True
dgTidRapportering.DataSource = CreateDatasourceTidRapportering()
dgTidRapportering.DataBind()
tblLaggTillTidRapportering.Visible = False
dgWebbHotellsKunder.Visible = False
Catch ex As Exception
lblMessage.Text = ex.Message
End Try
End Sub
</code>

Bägge ligger i varsin datagrid och det jag vill göra i det senare fallet är att uppdatera databasen från ett "nej" till ett "ja". Det roliga är att klickar jag i den översta så ändrar han men jag får nedanstående felmeddelande. Klickar jag på någon annan så kommer samma meddelande men han ändrar inget.

<code>
Collection was modified; enumeration operation may not execute.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[InvalidOperationException: Collection was modified; enumeration operation may not execute.]
System.Collections.ArrayListEnumeratorSimple.MoveNext() +143
wesykunder.admindefault.btnArkiveraTidRapport_Click(Object sender, EventArgs e) in C:\Documents and Settings\Magnus Gustafson.STATIONAR\VSWebCache\wesykunder.wesydesign.se\wesykunder\admindefault.aspx.vb:346
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1292
</code>


Svara

Sv: Ser inte felet, HJÄÄÄÄLP

Postades av 2007-01-11 20:03:28 - Andreas Paulsson

Problemet är att du modiferar den listan so du itererar över.

Du itererar över alla items i din DataGrid och när du gör det så gör du dgTidRapportering.DataBind(), dvs laddar nya items. Dessutom för varje item i din DataGrid. Jag är inte riktigt med på vad du gör.

Problemet är i vilket fall som helst att du modifierar den collection som du itererar över.

/Andreas


Svara

Sv:Ser inte felet, HJÄÄÄÄLP

Postades av 2007-01-12 10:35:21 - Ola Lindfeldt

Detta bör väl ligga sist i din button click

dgTidRapportering.DataSource = CreateDatasourceTidRapportering()
dgTidRapportering.DataBind()

Alltså när du har snurrat igenom och gjort det du ska med posterna så refreshar du gridden.


Svara

Sv: Ser inte felet, HJÄÄÄÄLP

Postades av 2007-01-15 23:12:13 - Magnus Gustafson

Det jag ska göra är att ta den rad som jag klickar i och ändra en cell från ett Nej till ett Ja i databasen.


Svara

Sv: Ser inte felet, HJÄÄÄÄLP

Postades av 2007-01-15 23:23:47 - Magnus Gustafson

Tack Ola Du hjälpte mig på vägen. Man kan ju naturligtvis inte köra den koden du skrev varje varv, den ska ju bara köras en gång och det på slutet när allt är klart.
Så här ska det se ut:
<code>
Private Sub btnArkiveraTidRapport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnArkiveraTidRapport.Click
dgTidRapportering.Visible = False
Dim item As DataGridItem
Dim count As Integer = 0
For Each item In dgTidRapportering.Items
DetermineSelectionArkiveraTidRapport(item, count)
Next
dgTidRapportering.DataSource = CreateDatasourceTidRapportering()
dgTidRapportering.DataBind()
dgTidRapportering.Visible = True
tblLaggTillTidRapportering.Visible = False
dgWebbHotellsKunder.Visible = False
End Sub

Sub DetermineSelectionArkiveraTidRapport(ByVal item As DataGridItem, ByRef count As Integer)
Dim selection As CheckBox = CType(item.FindControl("SelectCheckBox"), CheckBox)
Dim intId As Integer
If Not selection Is Nothing Then
If selection.Checked Then
intId = item.Cells(0).Text
End If
End If
'hämta kopplingssträngen.
Dim strDbConnect As String
strDbConnect = koppling(strDbConnect)
Dim msnConnect As New Odbc.OdbcConnection(strDbConnect)
Dim sqlStr As String = UpdateTidRapport(intId)
Dim McnCommand As New Odbc.OdbcCommand(sqlStr, msnConnect)
Dim numRowsEffected As Integer = 0
Try
McnCommand.Connection.Open()
numRowsEffected = McnCommand.ExecuteNonQuery()
McnCommand.Connection.Close()
msnConnect.Close()
btnArkiveraTidRapport.Visible = True
btnJusteraTidRapport.Visible = True
Catch ex As Exception
lblMessage.Text = ex.Message
End Try
End Sub
</code>


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 602
27 953
271 705
5 919
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