急!高分求各位高手帮忙!dbgrid问题!

futurepro 2007-03-07 03:22:08
我想通过下面数据库得到下面dbgrid效果,各位帮忙,谢谢!

dept表
deptcode deptname
1 计算机系

teachercode teachername deptcode
1 张三 1
2 李四 1
3 王五 1


实现如下dbgrid效果
教师编号 教师系 教师名称
1 计算机系 张三、李四、王五
...全文
229 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
futurepro 2007-03-09
  • 打赏
  • 举报
回复
to:CFsoftlover(做到比别人快一点),
你能帮下忙,写下这个存储过程吗?
jinglong6511 2007-03-07
  • 打赏
  • 举报
回复
存储过程
CFsoftlover 2007-03-07
  • 打赏
  • 举报
回复
写个存储过程不就得了...
存储过程会写吧?
futurepro 2007-03-07
  • 打赏
  • 举报
回复
谢谢jydqwe(闲庭漫步) !我研究看看
jydqwe 2007-03-07
  • 打赏
  • 举报
回复
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;

}

以前写的 把一个数据集转换成横向的数据集 你看看有没参考。。
futurepro 2007-03-07
  • 打赏
  • 举报
回复
小的初学.net,可能有点难理解,哪个实例帮助看下吗?谢谢
best8625 2007-03-07
  • 打赏
  • 举报
回复
友情UP
amandag 2007-03-07
  • 打赏
  • 举报
回复
用存储过程来做应该更好一些
jydqwe 2007-03-07
  • 打赏
  • 举报
回复
遍历记录集 每过一条判断部门这个字段
因为之前的记录集是按部门排序过的
所以如果有变更就说明DATAGIRDVIEW要起新行(新部门)
因为是新行 所有要多添加 头2个(教师编号和教师系)字段 同时第3个字段添加一个教师
如果没变更 只需要在最后一个记录的第3个字段上加字就可以了
futurepro 2007-03-07
  • 打赏
  • 举报
回复
“如果教师系 有更边 添加新行 与头2个字段 ”
这个能说详细点吗
futurepro 2007-03-07
  • 打赏
  • 举报
回复
有具体的例子吗,能不能详细点
jydqwe 2007-03-07
  • 打赏
  • 举报
回复
用SQL语句返回关联的结果集 然后按部门排序
然后先手动添加DATAGRID列 添加3个列
之后遍历数据集 如果教师系 有更边 添加新行 与头2个字段
没边就往第3个字段添加、name

110,538

社区成员

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

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

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