dataGridView则么把一列限制为时间类型?
要在程序里面实现!

解决方案 »

  1.   

    在dataGridView的cellValueChange事件里判断,看看这一列的值能不能转换为时间类型
      

  2.   

    没有直接的属性转换成日期类型...如果想要某列显示为日期格式,可以使用Format()格式化... datagridview1.Columns["列名"].DefaultCellStyle.Format("yyyy-MM-dd");
      

  3.   


    dataGridView.Columns["列名"]  --------->  DataGridViewTextBoxColumn ---------------->MSDN   完毕!
      

  4.   

    网上有很多封装的类啊,可以让datagridview那一列是日历控件
      

  5.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace WindowsApplication50
    {
        public partial class Form1 : Form
        {
            DataGridView DGV = new DataGridView();
            DateTimePicker DTP = new DateTimePicker();        public Form1()
            {
                InitializeComponent();            DTP.TextChanged += new EventHandler(DTP_TextChanged);            DataTable DT = new DataTable();
                DT.Columns.Add(new DataColumn("date", typeof(DateTime)));
                DT.Rows.Add(new Object[] { "2009-1-1" });            DataGridViewTextBoxColumn TBC = new DataGridViewTextBoxColumn();
                TBC.DataPropertyName = "date";
                DGV.Parent = this;
                DGV.Columns.Add(TBC);
                DGV.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(DGV_EditingControlShowing);
                DGV.DataSource = DT;
            }        void DTP_TextChanged(object sender, EventArgs e)
            {
                DGV.EditingControl.Text = DTP.Text;
                DGV.EndEdit();
            }        void DGV_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                DGV.EditingPanel.Controls.Clear();
                DTP.Text = e.Control.Text;
                DGV.EditingPanel.Controls.Add(DTP);
                DGV.EditingPanel.Controls[0].Size = e.Control.Size;
            }
        }
    }