我想通过当前表单的文本进行列表过滤。 我有一个任务列表,我想在我的DataGrid上显示只有用户名属性值与我的表单文本相同的任务。获取当前表单的文本
我已经试过这样:
foreach (Task a in tasks)
{
if(a.Username == ProgForm.ActiveForm.Text)
tdt.Rows.Add(a.Id, a.Name, a.Description, a.IsSolved, a.IsTested, a.Username);
}
例如,如果我的窗体的文本为“用户1”,我希望我的DataGrid中,只显示用户名“用户1”的任务。
如果我评论这行代码
if(a.Username == ProgForm.ActiveForm.Text)
数据网格将显示所有任务,所以没有问题存在。我不知道如何做过滤。
谢谢。
编辑:
找到了解决办法:
替换此:
if(a.Username == ProgForm.ActiveForm.Text)
有了这个:
if(a.Username == this.Text)
这两个值在调试器中出现什么?什么是目前形式的“文本”? – BradleyDotNET
a.Username是“user1”,但ProgForm.ActiveForm为null。我不知道如何从当前表单中获取文本。 – dsanatomy