说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Relations在WEB的DataGrid中的问题

编辑:说三道四文库 发布时间:2018-06-24 04:09
HTML文档下载 WORD文档下载 PDF文档下载
随手写了一个DataClass,里面有两个表是关联的,放在一个DataSet里面,绑定到WINFORM的datagrid就可以出现表的关联,也就是每一行数据前有一个小加号,但是绑定到WEBFORM里面的DATAGRID就没有这个小加号,无法实现表的关联。

问一下大家,如果在WEBFORM里面实现如同WINFORM里面的功能

DATACLASS代码:

private DataTable ParentDataTable()
{
DataTable dt = new DataTable() ;
dt.Columns.Add(new DataColumn("ID", System.Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("Text", System.Type.GetType("System.String")));
for(int i=0 ;i<12 ;i++)
{
DataRow dr = dt.NewRow() ;
dr["ID"] = i.ToString() ;
dr["Text"] = "第" + i.ToString() + "行母数据" ;
dt.Rows.Add(dr) ;
}
return dt ;
}

private DataTable ChildDataTable()
{
DataTable dt = new DataTable() ;
dt.Columns.Add(new DataColumn("ID",System.Type.GetType("System.String"))) ;
dt.Columns.Add(new DataColumn("Text",System.Type.GetType("System.String"))) ;
dt.Columns.Add(new DataColumn("Parent_ID",System.Type.GetType("System.String"))) ;

DataTable P_dt = ParentDataTable() ;
for(int i=0 ;i<P_dt.Rows.Count ;i++)
{
DataRow dr = dt.NewRow() ;
dr["ID"] = i.ToString() ;
dr["Text"] = "第" + i.ToString() + "子数据" ;
dr["Parent_ID"] = P_dt.Rows[i]["ID"].ToString() ;
dt.Rows.Add(dr) ;
}
return dt ;
}

public DataSet DSRelatoin()
{
DataTable P_DT = ParentDataTable() ;
DataTable C_PT = ChildDataTable() ;
DataSet ds = new DataSet() ;
ds.Tables.Add(P_DT) ;
ds.Tables.Add(C_PT) ;

DataRelation DRelation = new DataRelation("TestColumns",P_DT.Columns["ID"],C_PT.Columns["Parent_ID"]) ;

ds.Relations.Add(DRelation) ;

return ds ;
}
WINFORM里面的绑定:
DataClass dc = new DataClass() ;
dataGrid1.DataSource = dc.DSRelatoin().Tables[0] ;
可以出来小加号,表的关联

WEBFORM里面的绑定:
DataClass dc = new DataClass() ;
DataGrid1.DataSource = dc.DSRelatoin().Tables[0] ;
DataGrid1.DataBind() ;
没有小加号,无法实现表的关联
up一下,我也想知道
难道没有人知道吗,是不是无法实现呀
UP
我继续顶,希望大家都关注一下,如果可以实现这个功能,我觉得以后的很多应用都很方便了
继续顶
要顶烂了,大家救命呀
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘