日期:2014-05-17  浏览次数:21102 次

datagridview增加列
winform中如何在datagridview中显示如下信息:如3月5号,就显示前五天的数据信息,3月7号,就显示前七天的数据信息,显示的信息是从数据库中取出来的,数据库对应的表中有date字段,只计算这个月几号前面的几天,最后加一列求这一行几天数据的平均值,我是初学者,请高手指点,谢谢

------解决方案--------------------
用动态表绑定,即:如果5天就创建6列的表,把5天数据填充到表,在表中直接计算填充后绑定显示。
动态创建表列例举
------解决方案--------------------
动态组成SQL语句,将查询结果的Table绑定到datagridview。
------解决方案--------------------
根據今天的日期獲得列數colNum(比如今天7月10號就是7列,求平均數的一列不在循環中,最後加),然後做循環將數據加入datatable中
datatable dt = new datatable();
string col;
for(int i=0;i<colNum;i++)
{
  col = convert.todatetime("7月"+i+"號")
  dt.columns.add(col);
  //可以加入sql語句抓數據,也可以另外循環
}
//最後加平均列
dt.columns.add("平均");
//winform上的datagridview
dgv.datasource = dt;

------解决方案--------------------
sql语句啊 
------解决方案--------------------
dt.columns.add(DateTimePicker.value.toString("yyyy-MM-dd"));//列名
//數據庫查詢時時間條件語句
string Stime = "to_date('"+DateTimePicker.value.toString()+"','yyyy-MM-dd')"
sql = ".............where time = "+stime;

------解决方案--------------------
根據日期獲取列數的話,貌似
int colSum = system.datetime.now.day;//還是system.datetime.date.day記不清
// 楚了不過VS裏面應該很好找的,只要幾號那麼這個月就是幾天,列數就是幾列