[Feature] item starts with searchstring, sort it on top (#99), version 1.0.17.10

This commit is contained in:
Markus Hofknecht 2021-04-14 21:06:54 +02:00
parent 6162364577
commit c00c02356a
2 changed files with 24 additions and 3 deletions

View file

@ -643,6 +643,7 @@ namespace SystemTrayMenu.Business
dataTable.Columns.Add(dgv.Columns[0].Name, typeof(Icon));
dataTable.Columns.Add(dgv.Columns[1].Name, typeof(string));
dataTable.Columns.Add("data", typeof(RowData));
dataTable.Columns.Add("SortIndex");
foreach (RowData rowData in data)
{
rowData.SetData(rowData, dataTable);

View file

@ -585,10 +585,30 @@ namespace SystemTrayMenu.UserInterface
"[{0}] LIKE '%{1}%'",
filterField,
textBoxSearch.Text);
foreach (DataGridViewRow row in dgv.Rows)
if (string.IsNullOrEmpty(textBoxSearch.Text))
{
RowData rowData = (RowData)row.Cells[2].Value;
rowData.RowIndex = row.Index;
data.DefaultView.Sort = string.Empty;
}
else
{
string columnSortIndex = "SortIndex";
foreach (DataRow row in data.Rows)
{
if (row[1].ToString().StartsWith(
textBoxSearch.Text,
StringComparison.InvariantCultureIgnoreCase))
{
row[columnSortIndex] = 0;
}
else
{
row[columnSortIndex] = 1;
}
}
data.DefaultView.Sort = columnSortIndex;
}
SearchTextChanged.Invoke(this, null);