正常情况下,DataGrid的一行就是对应数据源中的一条记录!假如现在我的源数据表只有3个字段,能不能让我的DataGrid在一行中显示5条对应的记录呢?答案是肯定的!下面就来看看具体实现的方法。
假定源表中有三列,UserNM,UserID,Note。最终的DataGrid中分5列显示。
1、我们必须对源表进行转换,转换后的新表的一行就包括5条源表的记录:
private DataTable MakeDT(DataTable dt,int iCols)
dt为待转换的源表,iCols为新表的一行包含源表的记录条数,本例为5
转换后得到的新表的列名为从COL0开始,到COL(iCols*iColOfSrc-1)
{
int iColOfSrc = 3; 源表待转换的列数
int ii,jj,kk,ll;
int iNewRows;
string strColNM = "";
DataTable newdt = new DataTable();
for(ii=0;ii<iCols*iColOfSrc;ii++)
{
strColNM = "COL"+ii.ToString();
newdt.Columns.Add(new DataColumn(strColNM,typeof(string)));
}
if(dt.Rows.Count == 0)
return newdt;
iNewRows = (dt
假定源表中有三列,UserNM,UserID,Note。最终的DataGrid中分5列显示。
1、我们必须对源表进行转换,转换后的新表的一行就包括5条源表的记录:
private DataTable MakeDT(DataTable dt,int iCols)
dt为待转换的源表,iCols为新表的一行包含源表的记录条数,本例为5
转换后得到的新表的列名为从COL0开始,到COL(iCols*iColOfSrc-1)
{
int iColOfSrc = 3; 源表待转换的列数
int ii,jj,kk,ll;
int iNewRows;
string strColNM = "";
DataTable newdt = new DataTable();
for(ii=0;ii<iCols*iColOfSrc;ii++)
{
strColNM = "COL"+ii.ToString();
newdt.Columns.Add(new DataColumn(strColNM,typeof(string)));
}
if(dt.Rows.Count == 0)
return newdt;
iNewRows = (dt