在datagridview中显示自定义数据

时间:2010-07-06 06:48:05

标签: c# linq datetime

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

        }
    }
}

1 个答案:

答案 0 :(得分:5)

出现错误是因为您需要将所选项目(文字,类型String)转换为DateTime类型:

this.flightsDataGridView.DataSource = 
   dc.flights.Where (x => x.date == Convert.ToDateTime( cmbDate.SelectedItem));

这可能会解决您的问题。