我有一个未绑定的DataGridView
,通过从ArcMap中的所选要素中提取属性以及从文本框中输入用户来填充。我在下面的代码中循环遍历DataGridView
并根据与列中单元格匹配的组合框的值使行不可见。
private void comboBoxName_SelectionChangeCommitted(object sender, EventArgs e)
{
string TextVar;
TextVar = comboBoxName.Text;
checkBoxShowAllRows.Checked = false;
foreach (DataGridViewRow df in this.dataGridList.Rows)
{
if (dataGridList.Rows[df.Index].Cells[5].Value.ToString() == (TextVar))
{
dataGridList.Rows[df.Index].Visible = true;
}
else
{
dataGridList.Rows[df.Index].Visible = false;
}
}
}
效果很好。但是,我有一个日期列,将通过读取上面一行中的日期并添加用户放入文本框的天数来填充新行。我的问题是,即使我使用上面的代码过滤掉行,日期代码仍然会查看不可见的行并使用上面的那一行。有没有办法避免索引中的不可见行?我希望能够过滤不同的值,但不能摆脱它们。在这种情况下,.Visible
过滤方法不是首选吗?