Мне удалось сделать так, чтобы все данные из таблицы выбирались и выбрасывались в представление DataGrid. Теперь у меня снова возникла проблема с фильтрацией одной и той же информации: красного, желтого, фиолетового, времени и имени. Эта информация, которую я нахожу интересной в этом фрагменте HTML, заголовке или Alt и в href HOST = ...:
<TD align=center><A
href="http://bb.intranet/cgi-bin/svcstatus.sh?HOST=RPRThostname&SERVICE=memory"><IMG
title=memory:yellow:13h02m border=0 alt=memory:yellow:13h02m
src="red%20%20Xymon%20-%20Status%20@%20Thu%20Jan%2003%20172037%202019_pliki/yellow-recent.gif"
width=16 height=16></A></TD>
Мой код извлекает все данные в таблицу. Специально я установил, что размер столбцов равен 23, потому что размер всей таблицы HTML,
Я бы хотел растянуть конкретные данные, как я писал выше
HtmlAgilityPack.HtmlDocument d;
d = new HtmlAgilityPack.HtmlDocument();
d.LoadHtml(richTextBox1.Text);
var query = from table in d.DocumentNode.SelectNodes("//table").Cast<HtmlNode>()
from row in table.SelectNodes("//tr").Cast<HtmlNode>()
from cell in row.SelectNodes("//td").Cast<HtmlNode>() ///Cast<HtmlNode>() .First().Attributes["title"].Value.
select new { Table = table.Id, CellText = cell.OuterHtml };
foreach (var cell in query)
{
for (int i = 0; i < 27; i++)
{
this.dataGridView1.Columns.Add("col" + i.ToString(), "-");
}
int j = 0;
int counter = 0;
var values = new List<string>();
foreach (var cell in query)
{
if (j == 27)
{
this.dataGridView1.Rows.Add();
j = 0;
int k = 0;
foreach (DataGridViewCell dgcell in this.dataGridView1.Rows[counter].Cells)
{
//MessageBox.Show(values[k]);
dgcell.Value = values[k++];
}
counter++;
continue;
}
//DataRow r = dt.NewRow();
// int i = 0;
values.Add(cell.CellText);
j++;
}
}