我正在尝试创建一个应用程序,我希望数据网格视图根据用户在组合框中选择的日期显示数据,即根据我的应用程序的.cmbDate。 cmbDate显示数据库中的可用日期。下面是我编写的源代码但是在调试编译器时给出了运算符'=='的错误,不能用于比较'System.DateTime'和'object'。我希望当用户点击加载按钮时,它会加载所选日期或月份的数据。
namespace linqToSql_trial
{
public partial class frmSample : Form
{
private userLoginDataContext dc;
public frmSample()
{
InitializeComponent();
dc = new userLoginDataContext();
}
private void LoadDate()
{
cmbDate.DataSource = dc.flights.Select(x=>x.date);
cmbDate.DisplayMember = "date";
cmbDate.ValueMember = "date";
}
private void frmSample_Load(object sender, EventArgs e)
{
LoadDate();
}
private void btnLoad_Click(object sender, EventArgs e)
{
this.flightsDataGridView.DataSource = dc.flights.Where (x => x.date == cmbDate.SelectedItem);
}
}
}
答案 0 :(得分:5)
出现错误是因为您需要将所选项目(文字,类型String
)转换为DateTime
类型:
this.flightsDataGridView.DataSource =
dc.flights.Where (x => x.date == Convert.ToDateTime( cmbDate.SelectedItem));
这可能会解决您的问题。