Как удалить все проверенные строки имени в 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");

Другие вопросы по тегам