I guess today I searched on the right keywords - I have looked before but
did not find the following:
http://support.microsoft.com/default.aspx?scid=kb;[LN];818587
Knowledge Base Article 818587
Fix: Regression in Dataset Serialization in Visual Studio .NET 1.1 when a
datarow contains a rowError or a ColumnError Property
Roger
"Programatix" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi,
>
> I'm working on a project which includes XML WebServices and Windows Form
> application.
>
> The Windows Form application will call the XML WebServices to retrieve
data
> from database. The data will be returned as DataSet.
>
> Now, here's the problem. On .NET Framework 1.1, if any rows in the dataset
> returned contain errors (marked by calling the SetColumnError() method or
> setting the RowError property of the DataRow), I get the following error
> message in the Windows Form application,
>
> "There is an error in XML doument (x,xxxxxxx)"
>
> If I forced the Windows Form application to run on .NET Framework 1.0,
> everything works fine.
>
> Here's the partial code for the WebService project
>
> Code:
>
> <WebMethod()> _
> Public Function RetrieveDataSet() As DataSet
> Dim ds As New DataSet
> Dim dt As New DataTable
> Dim row As DataRow
> Dim i As Integer
>
> dt.TableName = "TestTable"
> dt.Columns.Add("TestColumn1", GetType(String))
> dt.Columns.Add("TestColumn2", GetType(Integer))
>
> ds.DataSetName = "TestDataSet"
> ds.Tables.Add(dt)
>
> For i = 0 To 10
> row = dt.NewRow
> row("TestColumn1") = "This is row " & i
> row("TestColumn2") = i
> dt.Rows.Add(row)
>
> ' The following code trigger the error after the DataSet
> ' is returned to the calling Window Form application
> row.SetColumnError("TestColumn1", "Error message here")
> Next
>
> Return ds
> End Function
>
>
>
> For the Windows Form application, you need to insert a datagrid control
> (assumed as datagrid1). It will look something like this,
>
> Code:
>
> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles MyBase.Load
> Dim ws As localhost.Service1
> Dim ds As DataSet
>
> Try
> ws = New localhost.Service1
> ds = ws.RetrieveDataSet
>
> Me.DataGrid1.SetDataBinding(ds.Tables(0), "")
> Catch ex As Exception
> MsgBox(ex.Message)
> Finally
> If (Not (ws Is Nothing)) Then
> ws.Dispose()
> End If
> End Try
> End Sub
>
>
> I really hope someone could help me out with this one.
>
> Thanks in advance.
>
> ps: Please, before anyone reply to state that I did not choose the
> appropriate groups when making this post a crossposts post, please know
that
> I'm currently in blind on what is causing this error. Is it the
WebService?
> or is it the ADO .Net? or is it Windows Form application? or is it VB
..Net?
> Well, it has something to do with WebService as it only happens to the
> DataSet returned by WebService. It also has something to do with ADO .Net
as
> I'm using DataSet. And it definitely has something to do with Windows Form
> application as if I force the Windows Form application project to run on
> .Net Framework 1.0, everything works fine.
>
>