C#中MonthCalendar怎么和DataGridView一起用?

qq465644390 2011-10-11 03:30:16
有一个MonthCalendar控件,和一个DataGridView
我想在MonthCalendar选择某一天后,在DataGridView上同步显示那一天的记录,该如何解决 ?DataGridView绑定的数据库表中的列名有个日期,格式是YY/MM/DD。我的思路是通过MonthCalendar点击获得具体某一天从而与日期匹配来查询并用DataGridView同步显示出来,可是MonthCalendar取出的值貌似是YY/MM/DD 00:00:00。具体怎么实现?!
...全文
285 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
krenyelang 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lilei_new 的回复:]
首先把DataGridView的源绑定为你所需要的DataView.这样方便过滤记录.
把MonthCalendar值格式化为yyyyMMdd然后,然后在DataView里执行过滤Filter="str";
[/Quote]
赞同!
sdl2005lyx 2011-10-11
  • 打赏
  • 举报
回复
不是跟你说了:
DateTime dt=monthCalendar1.SelectionStart ;
string strTime=dt.ToString("YY/MM/DD"); //这里你可以改成跟你数据库完全一致的格式!
qq465644390 2011-10-11
  • 打赏
  • 举报
回复
这是我 MonthCalendar控件 的鼠标点击具体某一天的事件。能够获取的日期格式的值是20111010这样的。但是数据库中的日期却不知道怎么被改为2011/10/10 00:00:00。再改也改不了。说是:该字符串未被识别为有效的DateTime。可我日期的数据类型写的是DateTime啊。
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
String str = "select * from Table where 日期 =" + "'" + monthCalendar1.SelectionStart.Year.ToString()+ monthCalendar1.SelectionStart.Month.ToString()+monthCalendar1.SelectionStart.Day.ToString()+"'";
database conn = new database();
SqlCommand mySqlCommand = new SqlCommand(str, conn.mySqlConnection);
SqlDataReader dr = mySqlCommand.ExecuteReader();
conn.mySqlConnection.Open();
mySqlCommand = new SqlCommand(str, conn.mySqlConnection);
dr = mySqlCommand.ExecuteReader();
/* if (dr.Read())
{
lable1.Text = dr.GetValue(1).ToString();
lable8.Text = dr.GetValue(2).ToString();
lable9.Text = dr.GetValue(3).ToString();
lable10.Text = dr.GetValue(4).ToString();
lable11.Text = dr.GetValue(5).ToString();
lable12.Text = dr.GetValue(6).ToString();
}
else
{
MessageBox.Show("读取部分数据失败");
}*/
conn.mySqlConnection.Close();
}
sdl2005lyx 2011-10-11
  • 打赏
  • 举报
回复
取值后,换成你的格式就可以了:

DateTime dt=monthCalendar1.SelectionStart ;
string strTime=dt.ToString("YY/MM/DD");

。。。。。
feng84131421 2011-10-11
  • 打赏
  • 举报
回复
网上有些思路
http://www.cnblogs.com/ojekleen/articles/dataGridView.html

其实感觉不是很好
ysudongxi 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lilei_new 的回复:]
首先把DataGridView的源绑定为你所需要的DataView.这样方便过滤记录.
把MonthCalendar值格式化为yyyyMMdd然后,然后在DataView里执行过滤Filter="str";
[/Quote]
此方法可行,先查询所有记录,再根据获取日期用DataView.Filter获取相应记录bind到datagridview
避免频繁操作数据库
言多必失 2011-10-11
  • 打赏
  • 举报
回复
在MonthCalendar,选中的事件中,去绑定数据源。
lilei_new 2011-10-11
  • 打赏
  • 举报
回复
首先把DataGridView的源绑定为你所需要的DataView.这样方便过滤记录.
把MonthCalendar值格式化为yyyyMMdd然后,然后在DataView里执行过滤Filter="str";

110,536

社区成员

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

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

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