我想使用复选框和数据网格中的显示从查询中选择列。在下图中是该程序的概述:
并使用此代码进行搜索:
Database1Entities DBE = new Database1Entities();
var search = from c in DBE.Tbl_PersonalInformation
where
string.IsNullOrEmpty(textBoxFirstName.Text) || (textBoxFirstName.Text) == (c.First_Name)
&&
string.IsNullOrEmpty(textBoxLastName.Text) || (textBoxLastName.Text) == (c.Last_Name)
select new { c.First_Name, c.Last_Name };
dataGrid.ItemsSource = search.ToList();
我会,例如,如果数据网格上只显示checkBoxFirstName.IsChecked==true
和checkBoxLastName.IsChecked==false
FirstName
。
答案 0 :(得分:0)
您可以传递过滤方法
public object FilterMethod(Person person)
{
var condition = false; // checkBoxFirstName.IsChecked==true
if (condition)
return new {person.Name};
else
return new { person.Name, person.SurName};
}
并在选择行中使用它 选择FilterMethod(c);
答案 1 :(得分:0)
我假设从你的屏幕截图中你使用的是WinForms而不是WPF。
您可以使用:this.yourGridView.Columns["First_Name"].Visible = checkBoxFirstName.IsChecked==true;
设置First_Name列的可见性。
请参阅https://msdn.microsoft.com/en-us/library/0c24a0d7(v=vs.110).aspx