Как удалить все проверенные строки имени в DataTable?
Отредактировано: я постараюсь объяснить это более четко. У меня есть файл XML, загруженный в мое представление данных. Файл, который я загружаю в datagridview, выглядит так:
<?xml version="1.0" standalone="yes"?>
<program>
<group active="1" name="name3">
<item active="Active">
<id>name3</id>
<ip>223.26.0.0</ip>
<names>jakas strona</names>
<comment>komentarz</comment>
</item>
<item active="Active">
<id>name3</id>
<ip>223.26.0.0</ip>
<names>jakas strona</names>
<comment>komentarz</comment>
</item>
</group>
</program
В моей программе у меня есть checklistbox, который содержит имена групп "name1", "name2" и т. Д. Мой код в кнопке удаления удаляет имя первой группы в поле selectedlist + все строки, которые содержат эту группу имен. Я хочу изменить свою кнопку, чтобы удалить выбранный элемент флажка списка (имя группы) и все строки, которые содержат это имя группы. Я надеюсь, что я объяснил более ясно. Это мой код кнопки удаления:
private void deleteButton_Click(object sender, EventArgs e)
{
if (checkedListBox1.SelectedIndex == 1)
{
// string groupName = group.Attribute("name").Value;
hostsDataSet.Tables["group"].Rows[0].Delete();
}
}
2 ответа
List<DataRow> rows_to_remove = new List<DataRow>();
//first add the match item to List like
foreach (DataRow row1 in dt1.Rows)
{
foreach (DataRow row2 in dt2.Rows)
{
if (row1["Name"].ToString() == row2["Name"].ToString())// change here as check box conditions
{
rows_to_remove.Add(row1);
}
}
}
enter code here
foreach (DataRow row in rows_to_remoenter code hereve)
{
dt1.Rows.Remove(row);
dt1.AcceptChanges();
}
После этого вы также должны обновить набор данных, например da.Update(hostsDataSet, "Temp");