datagridview 中如何添加时间控件?

xianggelia 2012-04-08 03:52:35
一个小的录入工具,录入后,在datagridview中 "时间"一列中选择时间。
...全文
484 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
springs_xie 2012-08-14
  • 打赏
  • 举报
回复
楼上的行是行,但是如果不对时间控件进行点击操作的话,按Tab 按键的话 时间不会显示出来的,不知道你们测试过没
nikolaichow 2012-04-15
  • 打赏
  • 举报
回复
public partial class Form1 : Form
{
InitializeComponent();
dataGridView1.Controls.Add(dtp); //把时间控件加入DataGridView
dtp.Visible = false; //先不让它显示
dtp.Format = DateTimePickerFormat.Custom; //设置日期格式为2010-08-05
dtp.TextChanged += new EventHandler(dtp_TextChange); //为时间控件加入事件dtp_TextChange
}

DateTimePicker dtp = new DateTimePicker(); //这里实例化一个DateTimePicker控件
Rectangle _Rectangle;

/*************时间控件选择时间时****************/
void dtp_TextChange(object sender, EventArgs e)
{
dataGridView1.CurrentCell.Value = dtp.Text.ToString(); //时间控件选择时间时,就把时间赋给所在的单元格
}

void nGridView1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
{
dtp.Visible = false;
}

private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
{
dtp.Visible = false;
}

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0)
{
_Rectangle = dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true); //得到所在单元格位置和大小
dtp.Size = new Size(_Rectangle.Width, _Rectangle.Height); //把单元格大小赋给时间控件
dtp.Location = new Point(_Rectangle.X, _Rectangle.Y); //把单元格位置赋给时间控件
dtp.Visible = true; //可以显示控件了
}
else
dtp.Visible = false;
}


测试通过!求分
sony2069 2012-04-15
  • 打赏
  • 举报
回复
1、新建一个日期控件。
2、this.dgvl.Controls.Add(日期控件);
3、在CurrentCellChanged事件中用GetCellDisplayRectangle获取CELL的值建立一个Rectangle。
4、给日期控件的长宽高赋值。
5、添加日期控件SelectedIndexChanged事件,给当前CELL赋值。
xianggelia 2012-04-15
  • 打赏
  • 举报
回复
达人在哪里?
xianggelia 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
引用 2 楼 的回复:

引用 1 楼 的回复:
引用楼主 的回复:
一个小的录入工具,录入后,在datagridview中 "时间"一列中选择时间。

添加日期控件?
那你需要 datagridview自定义列

参考:MSDNhttp://msdn.microsoft.com/en-us/library/7tas5c80.aspx
http://blog.csdn.net/……
[/Quote]

你好,很抱歉现在才回复你。
我试了这段代码,但不起效。
orochiheart 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
引用 2 楼 的回复:

引用 1 楼 的回复:
引用楼主 的回复:
一个小的录入工具,录入后,在datagridview中 "时间"一列中选择时间。

添加日期控件?
那你需要 datagridview自定义列

参考:MSDNhttp://msdn.microsoft.com/en-us/library/7tas5c80.aspx
http://blog.csdn.net/……
[/Quote]
+1 收藏
EnForGrass 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:
引用楼主 的回复:
一个小的录入工具,录入后,在datagridview中 "时间"一列中选择时间。

添加日期控件?
那你需要 datagridview自定义列

参考:MSDNhttp://msdn.microsoft.com/en-us/library/7tas5c80.aspx
http://blog.csdn.net/zx13525079024……
[/Quote]
这里有添加日期控件代码
http://www.xueit.com/html/2010-08/21-715684009201088154711140.html
xianggelia 2012-04-08
  • 打赏
  • 举报
回复
之前我发了个一样的帖子,估计太麻烦了也没有人回。

http://topic.csdn.net/u/20120324/10/387d518f-6aaa-498d-ba11-2008495a7f2d.html

xianggelia 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
引用楼主 的回复:
一个小的录入工具,录入后,在datagridview中 "时间"一列中选择时间。

添加日期控件?
那你需要 datagridview自定义列

参考:MSDNhttp://msdn.microsoft.com/en-us/library/7tas5c80.aspx
http://blog.csdn.net/zx13525079024/article/deta……
[/Quote]


刚接触C#,能不能把代码也附上,参考看的云里雾里。
EnForGrass 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
一个小的录入工具,录入后,在datagridview中 "时间"一列中选择时间。
[/Quote]
添加日期控件?
那你需要 datagridview自定义列

参考:MSDNhttp://msdn.microsoft.com/en-us/library/7tas5c80.aspx
http://blog.csdn.net/zx13525079024/article/details/4814642

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧