2011-04-07 64 views
0

嘿朋友我在我的程序中有datagridview。我需要从数据库填充数据网格,但一列,即名为“时间”,我不得不填写从相同形式的日期时间选择器。 在LOAD按钮中,当我单击它时,datagridview应该填充来自数据库的记录以及名为TIME的列中的datatime选择器的值。所以如果有人发送解决方案,我将非常感激。填充datagrid与多个数据源的C#问题

+0

也许你可以在将'object'作为'datasource'分配给datagridview之前,将'datetime picker'中的值添加到'object'中 – KaeL 2011-04-07 05:21:08

+0

需要更多信息:你是数据绑定吗?如果是这样,你要绑定什么样的对象? – rein 2011-04-07 05:23:23

+0

添加你的代码关于你已经完成了uptil现在 – 2011-04-07 05:46:44

回答

2

您可以设置的DateTimePicker值如下的SqlCommand:

select field1, field2, ... , datetimepicker.value 
from table_name 
where your_conditions 

测试请。我认为这将快于增加新列的DataTable并将其值设置后datetimepicker.value数据表中填写

2

你可以做到这一点,如下所示,如果您使用的DataSet/DataAdapter的到网格绑定:

DataSet ds = new DataSet(); 
    SqlDataAdapter da = new SqlDataAdapter(); 
    da.Fill(ds); 
    DataTable dt = ds.Tables[0]; 

    DataColumn dc = new DataColumn("TIME", typeof(System.DateTime)); 
    dc.DefaultValue = dataTimePicker.SelectedDate; 

    dt.Columns.Add(dc); 
    grdView.DataSource = dt; 
    grdView.DataBind(); 
+0

嗨thanx解决方案,它在我的项目中进行了一些修改后很好。 – Nhuren 2011-04-08 09:59:14

0

我想你可以使用数据绑定事件来添加额外的列。根据您的框架版本和网格类型(Datagrid或Gridview),事件会略有不同。

基本思想是每次将一行添加到网格时,都会调用该事件,并且将您自己的值动态添加到您指定的另一列中。对不起,我不能提供比这更多的东西,但这一切都可以基于你所呈现的内容。