I use button for by clicking it to delete one row in the DataGridView. This is the code:

DataGridView.Rows.RemoveAt(DataGridView.CurrentCell.RowIndex);

I use xml file as the source of dataset which is sourcedata of the DataGridView. It makes problems when I delete last row. What can I do?

pls, help

Recommended Answers

All 12 Replies

Sure you want RowIndex? not RowIndex - 1?

Whats the error and did you really need to spam so many different questions, as they are all based around the same subject.. you could have placed them 1 by 1

I'm sorry for spamming, won't happen again. I'm very new person in this forum and programming forum in general...

Even though, I'm not sure, that rowindex-1 is the answer for my question because rowindex points on the the exact row of the table. The deletions of other rows are successful with no errors.

You havent explained the problem of the last row, the reason I wonder about -1 is becaue of the 0 based array/list properties.

What is the error you get? Is there any other code you have around that line?

hi
if u want to delete row
give like this

dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);

Yes, I know, that deleting row according to currentcellindex works, but what if your selection is on the very last row in case that your property that allows users to add rows is on? That means that there are as if two last rows, one of them is traditional with some data like name, surname, age,... etc. with index [10,10], but when I tried to display the index of the row that functions to add new row via messagebox, it showed me [10,10] again. How can I distinguish between them? That one of them is impossible to delete because it serves for another purpose than displaying data from datasource?

Yes, I know, that deleting row according to currentcellindex works, but what if your selection is on the very last row in case that your property that allows users to add rows is on? That means that there are as if two last rows, one of them is traditional with some data like name, surname, age,... etc. with index [10,10], but when I tried to display the index of the row that functions to add new row via messagebox, it showed me [10,10] again. How can I distinguish between them? That one of them is impossible to delete because it serves for another purpose than displaying data from datasource?

hi im expecting more expl if u have patients

Would not the row index be higher than the record count?

OK, let's close this discussion. Seems I'm confusing and complicating things alot. I used the usual way to delete: select row by clicking on row header and then hit delete.

Some things also were not working properly with my datasource and I had some raising exceptions but now it's fixed.

Let's say, that the answer is:

DataGridView.Rows.RemoveAt(DataGridView.CurrentCell.RowIndex);

It really works also when the property for adding rows is set on true as I now tried that. I don't know why it now works, but probably the problem was in my chaotic solutions for dataset as the datasource for datagridview.

I'm sorry.

DataGridView.Rows.RemoveAt(DataGridView.LastRpw);

commented: Don't bump old threads -1

dataGridView1.Rows.RemoveAt(dataGridView1.Rows[dataGridView1.Rows.GetLastRow(0)].Index);

dataGridView1.Rows.RemoveAt(dataGridView1.Rows[dataGridView1.Rows.GetLastRow(0)].Index);

if the datagrid is bounded to datasource then u cant delete any of rows , i think

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.