DataTable dt1有列:ID,name,categoRyid,(当作产品表吧)
DataTable dt2有列:ID,CATEGORYNAME,(产品分类表)
关系Delation dr=new Delation("Rcategory",dt2.columns["id"],dt1.columns["categoryid"])
数据集DataSet DS.tables.addrange(new DataTable[] {dt1,dt2});
ds.relations.add(dr);dt1新增一列:DataColumn dcCategory=new DataColumn("categoryName",typeof(string),"Parent(Rcategory).categoryname");
dt1.columns.add(dccategory);设定Datagridview数据源:datagridview1.datasource=dt1;
datagridview仅显示:ID,NAME,CATEGORYNAME(datagridview的列类型全是DataGridViewTextBoxColumn)现在删除Datagridview的一行
然后
保存按纽:
try
{
if (dt1.GetChanges()!= null) :到这里就提示"找不到父关系"Rcategory"" 请教各位,有什么更好的解决方案没有?(不要跟我说在采用Datagridviewcombobox列类型)
DataTable dt2有列:ID,CATEGORYNAME,(产品分类表)
关系Delation dr=new Delation("Rcategory",dt2.columns["id"],dt1.columns["categoryid"])
数据集DataSet DS.tables.addrange(new DataTable[] {dt1,dt2});
ds.relations.add(dr);dt1新增一列:DataColumn dcCategory=new DataColumn("categoryName",typeof(string),"Parent(Rcategory).categoryname");
dt1.columns.add(dccategory);设定Datagridview数据源:datagridview1.datasource=dt1;
datagridview仅显示:ID,NAME,CATEGORYNAME(datagridview的列类型全是DataGridViewTextBoxColumn)现在删除Datagridview的一行
然后
保存按纽:
try
{
if (dt1.GetChanges()!= null) :到这里就提示"找不到父关系"Rcategory"" 请教各位,有什么更好的解决方案没有?(不要跟我说在采用Datagridviewcombobox列类型)
解决方案 »
- 怎样获取以某点为中心,圆或环上的像素值
- 有关热键的问题
- 如何DataGrid中使用按扭来实现”删除“和”修改“功能?谁帮我?在线等!谢谢各位前辈!
- 请教:在C#中如何调出Access中已定义的窗体
- 检测一下你的c#学的是否牢固?对基础知识是否已经模的很透?高手也可一试!有信心的都可一试!
- 请问如何用C#实现打字功能?
- 没多少分了,请教一下 BackgroundWorker 和 ToolStripProgressBar 的使用
- 用MSCOMM操作有线MODEM可以,但操作无线MODEM就不行了,大家帮帮忙吧,是不是有不同的地方
- 请教C#中如何生成可执行文件?(脱离FRAMEWORK)
- 关于.net资源回收的问题,程序运行起来大的惊人(分不够再加)
- treeView和数据库的绑定
- C#DataGridView中的问题
这样好处理,直接设置datagridview的columns类型然后将你的数据写上去就可以了
2.dt1新增一列:DataColumn dcCategory=new DataColumn("categoryName",typeof(string),"Parent(Rcategory).categoryname");
dt1.columns.add(dccategory); 设定Datagridview数据源:datagridview1.datasource=dt1;
datagridview仅显示:ID,NAME,CATEGORYNAME(datagridview的列类型全是DataGridViewTextBoxColumn)
-----------------------------------------------------------------------------------------
上面的数据源为dt1,而实际上加入列后,关系中DataTable dt1有列:ID,name,categoRyid,(当作产品表吧) 也没有categoryname这列,你应该对关系表中的数据组合后,然后对关系表的数据再操作。
1、为啥要用LIST<>? 组合成List<>,跟组合成DataTable有更好吗?
2、categoryname是来自dt2:
DataColumn dcCategory=new DataColumn("categoryName",typeof(string),"Parent(Rcategory).categoryname"); (lookup列)用Datagridviewcombobox列类型就请不要回了(当然是可以这么做,问题是我的这种列不需要其它操作了(仅显示出来就行),比如说订单中的产品子表,客户点选产品,DataGridview一行就带出这一产品的细节出来,放个combobox列岂不有点怪怪