RT,比如在焦点到这一单元格时,已经有预定义的时间如00:00:00
我只要修改其中的数字就可以了
也就是说不用自己输入冒号
客户要求的
郁闷

解决方案 »

  1.   

    把该单元格使用自定义输入控件实现,可以切入MaskedTextBox,如何在DataGrid中使用自定义控件可以参考,
    http://www.codeproject.com/cs/miscctrl/cprogressdatagrid.asp
      

  2.   

    也可以参考切入DateTimePicker的例子,
    private void Student_Styles()
    {
    //#1,这是一个绑定日期获取器的例子,共三步,请看#1,#2,#3
    style.GridColumnStyles.AddRange(new DataGridColumnStyle[]{id,room_id,real_name,sex,card,tel,degree,post,address,birth});
    dgMain.TableStyles.Add(style);
    //订阅单元格获得焦点时发生的事件
    dgBox=(DataGridTextBoxColumn)dgMain.TableStyles[0].GridColumnStyles[9];//哪一列出现
    dgBox.TextBox.GotFocus+= new EventHandler(this.dgBox_GotFocus);
    //}
    //#2
    private void dgBox_GotFocus(object o, EventArgs e)
    {
    DateTimePicker dtp = new DateTimePicker();
    dtp.Dock = DockStyle.Fill;
    dtp.Cursor = Cursors.Arrow;
    dtp.ValueChanged+=new EventHandler(this.dtg_ValueChanged);//日期获取器变化
    dgBox.TextBox.Controls.Add(dtp);
    dtp.BringToFront();

    }
    //#3
    private void dtg_ValueChanged(object sender, System.EventArgs e)
    {
    int lineNum=dgMain.CurrentCell.RowNumber;//或dgMain.CurrentRowIndex
    dgMain[lineNum,9]=((DateTimePicker)(sender)).Value.ToShortDateString();

    }
      

  3.   

    我在尝试着嵌入DateTimePicker
      

  4.   

    我切入DATATIMEPICKER 还是无法显示