这个样子的确未做过,不过你可以试下YYcontrols(媛媛控件),这个可以合并指定列 比如显示如: ---------| |9:00 Joe Smith Dr.Jones |9:10 John Doe |9:10 Oliver Kendal ---------| 合并指定列的相邻且内容相同的单元格 http://www.cnblogs.com/webabcd/archive/2007/09/03/879617.html
写了下面的方法对dataset处理,结果还是不对,如何去除那些空白的行,将有数据的行往上移动啊? private DataSet ProcessData(DataSet ds) { DataSet rlt = new DataSet(); DataTable dt = new DataTable(); foreach (DataRow row in ds.Tables[0].Rows) { string doctorName = row["DoctorName"].ToString(); string appData = row["Appointment"].ToString(); if (!dt.Columns.Contains(doctorName)) { DataColumn col = new DataColumn(doctorName); dt.Columns.Add(col); } DataRow dr = dt.NewRow(); for (int i = 0; i < dt.Columns.Count; i++) { if (dt.Columns[i].ColumnName == doctorName) dr[i] = appData; } dt.Rows.Add(dr); } rlt.Tables.Add(dt); return rlt; }结果:Dr.Jones Dr.Martin Dr.Smith Jane C. ========================================================== 9:00 Joe Smith 9:10 John Doe 9:10 Oliver Kendal 9:00 Pam Smith 13:00 Jason Liu 9:30 Glenn Carver thanks!
比如显示如:
---------|
|9:00 Joe Smith
Dr.Jones |9:10 John Doe
|9:10 Oliver Kendal
---------|
合并指定列的相邻且内容相同的单元格
http://www.cnblogs.com/webabcd/archive/2007/09/03/879617.html
{
DataSet rlt = new DataSet(); DataTable dt = new DataTable(); foreach (DataRow row in ds.Tables[0].Rows)
{
string doctorName = row["DoctorName"].ToString();
string appData = row["Appointment"].ToString(); if (!dt.Columns.Contains(doctorName))
{
DataColumn col = new DataColumn(doctorName); dt.Columns.Add(col);
} DataRow dr = dt.NewRow(); for (int i = 0; i < dt.Columns.Count; i++)
{
if (dt.Columns[i].ColumnName == doctorName)
dr[i] = appData;
} dt.Rows.Add(dr);
} rlt.Tables.Add(dt); return rlt;
}结果:Dr.Jones Dr.Martin Dr.Smith Jane C.
==========================================================
9:00 Joe Smith
9:10 John Doe
9:10 Oliver Kendal
9:00 Pam Smith
13:00 Jason Liu
9:30 Glenn Carver
thanks!