急!高分求各位高手帮忙!dbgrid问题!
我想通过下面数据库得到下面dbgrid效果,各位帮忙,谢谢!
如
dept表
deptcode deptname
1 计算机系
teachercode teachername deptcode
1 张三 1
2 李四 1
3 王五 1
实现如下dbgrid效果
教师编号 教师系 教师名称
1 计算机系 张三、李四、王五
------解决方案--------------------用存储过程来做应该更好一些
------解决方案--------------------private DataTable ChangeDataFormat(DataView dv)
{
string oldTime = " ";
DataRow reportDr = null;
DataTable dtReport = new DataTable();
dtReport.Columns.Add( "时间 ");
//添加转换后数据集的列
foreach (DataRow dr in dv.Table.Rows)
{
if (!dtReport.Columns.Contains(dr[ "STNM "].ToString().Trim()))
{
dtReport.Columns.Add(dr[ "STNM "].ToString().Trim());
}
}
//填充数据
for (int i = 0; i < dv.Table.DefaultView.Count; i++)
{
DataRowView dr = dv.Table.DefaultView[i];
string stnm = dr[ "STNM "].ToString().Trim();
string stcd = dr[ "STCD "].ToString().Trim();
string zfValue = dr[ "VAL "].ToString().Trim();
string zfTM = dr[ "TM "].ToString().Trim();
//根据断次类型改变时间格式
string timeType = GetTimeType();
string formatString = GetDateFormatString(timeType, zfTM);
zfTM = DateTime.Parse(zfTM).ToString(formatString);
if (zfTM != oldTime)
{
if (reportDr != null)
{
dtReport.Rows.Add(reportDr);
}
reportDr = dtReport.NewRow();
reportDr[0] = zfTM;
}
reportDr[stnm] = zfValue;
oldTime = zfTM;
}
//加入最后一行
dtReport.Rows.Add(reportDr);
return dtReport;
}
以前写的 把一个数据集转换成横向的数据集 你看看有没参考。。
------解决方案--------------------写个存储过程不就得了...
存储过程会写吧?
------解决方案--------------------存储过程