delete a row in dataset

Discussion in 'C#' started by markyjj, Jul 6, 2006.

  1. markyjj

    markyjj New Member

    Joined:
    Dec 7, 2005
    Messages:
    19
    Likes Received:
    0
    Trophy Points:
    0
    I was hoping that someone could assist me in the following.

    I have created a dataset in c# and have bound this to a datagrid and I want to delete a row in the datatable in the dataset.

    I know how to add a row to the dataset but am unsure of how to delete a row. I want to delete a row by using the unique ID number but I am unsure of how to do this.

    Can I use the indexof operator to obtain the index of the row in the datatable?

    I am not using an adapter as the datasource is based on xml.

    I would be grateful of any advice.
     
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,336
    Likes Received:
    377
    Trophy Points:
    83
    Use datarow.delete and then use AcceptChanges to commit the delete.
     
  3. markyjj

    markyjj New Member

    Joined:
    Dec 7, 2005
    Messages:
    19
    Likes Received:
    0
    Trophy Points:
    0
    I am currently trying to use the delete method and then the accept changes method but am having problems.

    I am trying to locate a row in the datatable to delete but am not sure how to go about this. I have decided to use a for loop to iterate through the datatable until a match is found with the entered ID number. However, when the matching ID number is found, the code that I use to delete the found row doesnt seem to work. I get a thrown exception saying that the row at position (n)does not exist in the table and the datagrid on the form goes blank.

    The code that I am using to try to delete the found row is shown below.
    Code:
    int RowCount = 0;
    foreach(DataRow dr in mydataset.Tables[1].Rows) 
    {     
        RowCount ++;
        if (txtStudID.Text == dr[0].ToString())
        {
            mydataset.Tables[1].Rows[RowCount].Delete();
            mydataset.WriteXml("C://Student1.xml");
            mydataset.WriteXmlSchema("C://Student1.xml");            
        }
    } //end of for loop      
    mydataset.Tables[1].Rows[RowCount].AcceptChanges();          
    f2.dataGrid1.DataSource = mydataset;    
    return;
    Any help will be very much appreciated.
     
  4. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,336
    Likes Received:
    377
    Trophy Points:
    83

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice