C# 在datagrid视图中显示自定义数据

C# 在datagrid视图中显示自定义数据,c#,linq,datetime,C#,Linq,Datetime,我正在尝试创建一个应用程序,其中我希望数据网格视图根据用户在组合框中选择的日期显示数据,即根据我的应用程序选择的日期。cmbDate显示数据库中的可用日期。下面是我写的源代码,但在调试时编译器给出了一个错误,运算符“==”不能用于比较“System.DateTime”和“object”。我希望,当用户单击加载按钮时,它加载所选日期或月份的数据 namespace linqToSql_trial { public partial class frmSample : Form {

我正在尝试创建一个应用程序,其中我希望数据网格视图根据用户在组合框中选择的日期显示数据,即根据我的应用程序选择的日期。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);

        }
    }
}

出现此错误是因为您需要将所选项目(文本,类型<代码>字符串<代码>)转换为类型:


这可能会解决您的问题。

出现错误的原因是您需要将所选项目(文本,键入<代码>字符串)转换为键入:


这可能会解决您的问题。

该问题是无效的铸造!cmbDate.SelectedItem表示对象实例,而x.date表示日期时间实例!如果答案对你有效,一定要接受,并提高你的接受率。这个问题是无效的铸造!cmbDate.SelectedItem表示对象实例,而x.date表示日期时间实例!若答案对你们有效,一定要接受,并提高你们的接受率
this.flightsDataGridView.DataSource = 
   dc.flights.Where (x => x.date == Convert.ToDateTime( cmbDate.SelectedItem));