Solved

Reset Datagrid and Datatable

Posted on 2004-08-21
3
730 Views
Last Modified: 2012-05-05
Hi....Help

I have a form in a windows app with a datagrid attached to it which gets its data from the datatable which i build through some XML data.  Problem is when i want to go back into the form and change the data in the table it won't let me.  I have tried reseting, clearing and others but hink i am missing something fairly basic.

Your help would be appreciated - The code i have is below

    Sub datagrider()
           Try
        Dim DataTable As New Data.DataTable("FileContents")
        Dim l As Integer

        With DataTable.Columns
            .Add("Template_id")
            .Add("fleid")
            .Add("Account Name")
        End With

        Dim newIt As ListViewItem
        Dim nodelist As XmlNodeList = xmlDoc.SelectNodes("/deid/deFile")
        Dim node As XmlNode

        l = -1
        For Each node In nodelist
            If node.SelectSingleNode("Template_id").InnerText = lblid.Text Then ' where lblid is selected detail on another form
                l += 1
                With DataTable.Rows
                    .Add(New Object() {})
                    .Item(l).Item(0) = node.SelectSingleNode("Template_id").InnerText
                    .Item(l).Item(1) = node.Attributes("fleid").InnerText
                    .Item(l).Item(2) = node.SelectSingleNode("Account_Name").InnerText
                End With
                DataTable.AcceptChanges()
            End If
        Next

        Dim GridStyle As DataGridTableStyle = New DataGridTableStyle()
        ds1.Tables.Add(DataTable)

        With DataGrid1
            .DataSource = ds1.Tables(0)
            .TableStyles.Add(GridStyle)
        End With

          Catch otherexcep As Exception
           MsgBox(otherexcep.Message, , "Exception")
           Exit Sub
           End Try
        AddHandler ds1.Tables(0).RowChanged, New DataRowChangeEventHandler(AddressOf OnRowChanged)

    End Sub


Help would be greatly appreciated as i need this real urgent like


thanks

matt
0
Comment
Question by:cafferm
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 18

Accepted Solution

by:
DotNetLover_Baan earned 500 total points
ID: 11864674
Hi there,
where are you updating data ? I don't see the code for that. Here you are just populating the table with the XML data. How are you updating it ?
0
 

Author Comment

by:cafferm
ID: 11866750
Hi

I am updating it through the addhandler - when they change a cell in the datagrid it updates the xml file

    Private Shared Sub OnRowChanged(ByVal sender As Object, ByVal args As DataRowChangeEventArgs)
        Dim nodelist As XmlNodeList = xmlDoc.SelectNodes("/deid/deFile")
        Dim node As XmlNode

        For Each node In nodelist
            If node.Attributes("fleid").Value = args.Row("fleid").ToString() Then
                node.SelectSingleNode("Amount").InnerText = args.Row("Account_Name").ToString()
            End If
        Next
        xmlDoc.Save(xmlFile)
    End Sub

so the changes for this actually happen as they type it in.  The problem i have is when they leave this and load new data which i need to insert into the grid which is set by the line in hte code

 If node.SelectSingleNode("Template_id").InnerText = lblid.Text Then ' where lblid is selected detail on another form

Thanks

Matt
0
 

Author Comment

by:cafferm
ID: 11867964
Problem Solved

ds1.Tables.Clear() at the top - this then caused an error in the grid style section (not shown in the code below)  but i just removed this if it was there and then readded it

thanks anyway
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question