Загрузите данные Xml в DataTable
, а затем установите для DataTable
значение XML_Grid.DataSource
.
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("FileName");
dt.Columns.Add("Name");
dt.Columns.Add("ID");
dt.Columns.Add("Date");
XML_Grid.Rows.Clear();
lbl_Path.Text = fbd.SelectedPath;
string[] files = Directory.GetFiles(fbd.SelectedPath, "*.xml");
XmlDocument doc = new XmlDocument();
XmlNodeList nodes = doc.GetElementsByTagName("cfdi:Emisor");
XmlNodeList nodes1 = doc.GetElementsByTagName("cfdi:Comprobante");
foreach (string tot_file in files)
{
doc.Load(tot_file);
string FileName = Path.GetFileNameWithoutExtension(tot_file);
for (int i = 0; i < nodes.Count; i++)
{
string Name = nodes[i].Attributes["Nombre"].Value;
string ID = nodes[i].Attributes["Rfc"].Value;
string Date = nodes1[i].Attributes["Fecha"].Value;
DataRow row = dt.NewRow();
row["FileName"] = FileName;
row["Name"] = Name;
row["ID"] = ID;
row["Date"] = Date;
dt.Rows.Add(row);
}
}
XML_Grid.DataSource = dt;
И в текстовое поле добавьте текстовое событие ниже, например, для фильтрации данных.
(XML_Grid.DataSource as DataTable).DefaultView.RowFilter = string.Format("FileName LIKE '{0}%'", txt_FileName.Text)
Редактировать:
Если вы хотите добавитьстроки к существующим столбцам, которые вы добавили через add column из datagridview, затем просто установите DataPropertyName
для каждого столбца XML_Grid
на имя столбца DataTable
, например
XML_Grid.Columns[0].DataPropertyName = "FileName";
XML_Grid.Columns[1].DataPropertyName = "Name";
XML_Grid.Columns[2].DataPropertyName = "ID";
XML_Grid.Columns[3].DataPropertyName = "Date";
Где 0,1,2,3 - индекс вашей колонки.Проверьте индекс столбца в соответствии с вашими существующими столбцами в XML_Grid
.
Добавьте указанную выше строку кода чуть выше к XML_Grid.Rows.Clear();
В качестве альтернативы приведенному выше коду вы можете установить DataPropertyName
для каждогостолбца из окна свойств представления данных.
Выберите XML_Grid
==> Открыть окно свойств ==> Выбрать Columns
Свойство ==> Выберите свой столбец ==> И установите его DataPropertyName
из (нет)) в "FileName".
И то же самое для всех оставшихся столбцов.