C# datagridview添加时间列 如何在datagridview中添加时间列?在Winform 中的一Datagridview中我希望在要输入日期的列输入日期时不用自己输入,最好是双击此单元格就会弹出一个日历然后选择日期的形式的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 准备工作:继承MonthCalendar,修改其构造函数 public class MC : MonthCalendar { public DataGridViewCell cell = null; public MC(DataGridViewCell c) { cell = c; } }第一步:在dataGridView1_CellDoubleClick事件中完成 MC mc = new MC(dataGridView1[e.ColumnIndex,e.RowIndex]); mc.Show(); mc.DateSelected += new DateRangeEventHandler(monthCalendar1_DateSelected); dataGridView1.Controls.Add(mc); 第二步:设计MC控件的日期选择 private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e) { MC m = (MC)sender; DateTime d1, d2; d1 = m.SelectionStart; d2 = m.SelectionEnd; if(d1.Equals(d2)) m.cell.Value=d1.ToLongDateString(); else m.cell.Value=d1.ToLongDateString()+"-"+d2.ToLongDateString(); dataGridView1.Controls.Remove(m); dataGridView1.Refresh(); m.Dispose(); m = null; }完毕,给分 DataGridView增加日期/时间列在Edit Columns窗口中可以选择ColumnType为新增加的列类型CalendarColumn 参考 准备工作: 继承MonthCalendar,修改其构造函数 public class MC : MonthCalendar { public DataGridViewCell cell = null; public MC(DataGridViewCell c) { cell = c; } } 第一步: 在dataGridView1_CellDoubleClick事件中完成 MC mc = new MC(dataGridView1[e.ColumnIndex,e.RowIndex]); mc.Show(); mc.DateSelected += new DateRangeEventHandler(monthCalendar1_DateSelected); dataGridView1.Controls.Add(mc); 第二步: 设计MC控件的日期选择 private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e) { MC m = (MC)sender; DateTime d1, d2; d1 = m.SelectionStart; d2 = m.SelectionEnd; if(d1.Equals(d2)) m.cell.Value=d1.ToLongDateString(); else m.cell.Value=d1.ToLongDateString()+"-"+d2.ToLongDateString(); dataGridView1.Controls.Remove(m); dataGridView1.Refresh(); m.Dispose(); m = null; } 引用#1给分 上午我才做这个呢,呵呵教你如何在datagridview里做日期列 C#中如何调用系统工具 C#下的一个字符串拆分问题 作为一名合格的测试人员,应该具有什么样的素质或能力,在测试的时候应该注意些什么? 下面是我是在c#用mscomm(串行通讯)控件的一个test 函数,当我调试运行的时候。总是出现错误信息 Undo Redo的问题 如何读远程计算机? 谁会用visual graph我们公司想找个可以用VG的图形控件开发人员 急,急,急---在线等待解决啊 求正则表达式,谢谢 新手请教一个简单的问题 求救 NAT穿透问题 在线程中拷贝文件后无法删除文件,提示“另一个进程正在使用此文件,因此该进程无法访问此文件。”
继承MonthCalendar,修改其构造函数
public class MC : MonthCalendar
{
public DataGridViewCell cell = null;
public MC(DataGridViewCell c)
{
cell = c;
}
}第一步:
在dataGridView1_CellDoubleClick事件中完成
MC mc = new MC(dataGridView1[e.ColumnIndex,e.RowIndex]);
mc.Show();
mc.DateSelected += new DateRangeEventHandler(monthCalendar1_DateSelected);
dataGridView1.Controls.Add(mc);
第二步:
设计MC控件的日期选择
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
MC m = (MC)sender;
DateTime d1, d2;
d1 = m.SelectionStart;
d2 = m.SelectionEnd;
if(d1.Equals(d2))
m.cell.Value=d1.ToLongDateString();
else
m.cell.Value=d1.ToLongDateString()+"-"+d2.ToLongDateString();
dataGridView1.Controls.Remove(m);
dataGridView1.Refresh();
m.Dispose();
m = null;
}
完毕,给分
在Edit Columns窗口中可以选择ColumnType为新增加的列类型CalendarColumn
参考
准备工作:
继承MonthCalendar,修改其构造函数
public class MC : MonthCalendar
{
public DataGridViewCell cell = null;
public MC(DataGridViewCell c)
{
cell = c;
}
} 第一步:
在dataGridView1_CellDoubleClick事件中完成
MC mc = new MC(dataGridView1[e.ColumnIndex,e.RowIndex]);
mc.Show();
mc.DateSelected += new DateRangeEventHandler(monthCalendar1_DateSelected);
dataGridView1.Controls.Add(mc);
第二步:
设计MC控件的日期选择
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
MC m = (MC)sender;
DateTime d1, d2;
d1 = m.SelectionStart;
d2 = m.SelectionEnd;
if(d1.Equals(d2))
m.cell.Value=d1.ToLongDateString();
else
m.cell.Value=d1.ToLongDateString()+"-"+d2.ToLongDateString();
dataGridView1.Controls.Remove(m);
dataGridView1.Refresh();
m.Dispose();
m = null;
} 引用#1给分