Forums Neueste Beiträge
 

Fehler (Edit GridView mit ObjektDataSource): kein gültiger wert für Single

26/09/2007 - 12:16 von Uwe Lesta | Report spam
Hallo NG,

Auf meiner webSite ist eine GridView mit einer ObjectDataSource.
Darin möchte ich einen float editieren.
Dieser wird mit in deutsch korrekt angezeigt z.B. 0,5
Wenn ich bearbeiten anclicke steht auch in der TextBox 0,5
Clicke ich dann auf aktualisieren bekomme ich die fehlermeldung

0,5 ist kein gültiger Wert für Single.
( bzw. Double wenn ich den datentyp in meinem item von float auf double àndere )

Wenn ich in der TextBox 0,5 in 0.5 àndere und dann aktualisieren clicke funktioniert alles
und es wird wieder 0,5 angezeigt.

Was kann/muss ich tun damit 0,5 eine gültige eingabe ist ?

Bitte helft ( das problem hat mir schon den ganzen vormittag versaut )

vielen dank im voraus


Kind regards

Uwe
Lesta at SBS-Softwaresysteme.de
 

Lesen sie die antworten

#1 Peter Fleischer
27/09/2007 - 12:33 | Warnen spam
Uwe Lesta wrote:

Auf meiner webSite ist eine GridView mit einer ObjectDataSource.
Darin möchte ich einen float editieren.
Dieser wird mit in deutsch korrekt angezeigt z.B. 0,5
Wenn ich bearbeiten anclicke steht auch in der TextBox 0,5
Clicke ich dann auf aktualisieren bekomme ich die fehlermeldung

0,5 ist kein gültiger Wert für Single.
( bzw. Double wenn ich den datentyp in meinem item von float auf
double àndere )
Wenn ich in der TextBox 0,5 in 0.5 àndere und dann aktualisieren
clicke funktioniert alles und es wird wieder 0,5 angezeigt.

Was kann/muss ich tun damit 0,5 eine gültige eingabe ist ?

Bitte helft ( das problem hat mir schon den ganzen vormittag versaut )



Hi Uwe,
ich kann dein Problem nicht reproduzieren. Da wird wohl ein Programmfehler
in deinem Programm sein.

Hier mal mein Testaufbau:

Seite:

[html]
<form id="form1" runat="server">
<div>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
<asp:GridView ID="GridView1" runat="server"
DataSourceID="ObjectDataSource1">
<Columns>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetData"
TypeName="C1" UpdateMethod="UpdateData">
<UpdateParameters>
<asp:Parameter Name="D1" Type="Double" />
<asp:Parameter Name="ID" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
</div>
</form>
[/html]

Mein Object dazu:

[vb]
Option Strict On

Imports Microsoft.VisualBasic
Imports System.Xml.Serialization
Imports System.Collections.Generic

<Serializable(), XmlInclude(GetType(c2))> Public Class C1
Dim l As List(Of C2)
Sub New()
Using reader As New System.Xml.XmlTextReader("c:\temp\x.xml")
l = CType((New System.Xml.Serialization.XmlSerializer(GetType(List(Of
C2)))).Deserialize(reader), List(Of C2))
reader.Close()
End Using
End Sub
Public Function GetData() As List(Of C2)
Return l
End Function
Public Sub UpdateData(ByVal D1 As Double, ByVal ID As Integer)
l.Item(ID) = New C2(ID, D1)
Using writer As New System.IO.StreamWriter("c:\temp\x.xml")
Call (New System.Xml.Serialization.XmlSerializer(GetType(List(Of
C2)))).Serialize(writer, l)
writer.Close()
End Using
End Sub
End Class

<Serializable()> Public Class C2
Sub New()
End Sub
Sub New(ByVal id As Integer, ByVal d As Double)
_id = id
_d1 = d
End Sub
Private _id As Integer
Public Property ID() As Integer
Get
Return _id
End Get
Set(ByVal value As Integer)
_id = value
End Set
End Property
Private _d1 As Double
Public Property D1() As Double
Get
Return _d1
End Get
Set(ByVal value As Double)
_d1 = value
End Set
End Property
End Class
[/vb]

Viele Grüße

Peter

Ähnliche fragen