单个Datagridview Master-Details,没有错误但只显示“(Collection)”
Single Datagridview Master-Details, no error but only shows "(Collection)"
我正在使用 SQLite,我想在单个 DataGridView 中使用 Master-Detail。没有错误 return,我检查了 Master Table ("ASM") 和 Details Table ("PART") 他们的数据都很好。但是,我的 gridAsmPart
仅在第 PART
列上显示了包含单词 (Collection)
的一行。任何帮助将不胜感激。
public void LoadData()
{
var asm = new SQLiteDataAdapter("SELECT * FROM ASM", dB.connectionString);
var part = new SQLiteDataAdapter("SELECT * FROM PART", dB.connectionString);
var ds = new DataSet();
asm.Fill(ds, "ASM");
part.Fill(ds, "PART");
DataRelation data_relation = new DataRelation(
"ASM_PART",
ds.Tables["ASM"].Columns["PART"],
ds.Tables["PART"].Columns["PART"]);
ds.Relations.Add(data_relation);
gridAsmPart.DataSource = ds;
}
编辑 1:似乎如果我使用旧的 DataGrid,它就可以工作。
嗯......在代码行......gridAsmPart.DataSource = ds;
...... ds
是一个DataSet
并且当你将DataSet
分配给网格作为DataSource
,那么您还需要在 DataSet
中指定网格应显示的“哪个”table。这就是网格 DataMember
的用途。
您是否尝试过将网格 DataMember
属性 设置为类似...?
gridAsmPart.DataSource = ds;
gridAsmPart.DataMember = “ASM”;
或者如果你想显示“部分”table......
gridAsmPart.DataSource = ds;
gridAsmPart.DataMember = “PART”;
我正在使用 SQLite,我想在单个 DataGridView 中使用 Master-Detail。没有错误 return,我检查了 Master Table ("ASM") 和 Details Table ("PART") 他们的数据都很好。但是,我的 gridAsmPart
仅在第 PART
列上显示了包含单词 (Collection)
的一行。任何帮助将不胜感激。
public void LoadData()
{
var asm = new SQLiteDataAdapter("SELECT * FROM ASM", dB.connectionString);
var part = new SQLiteDataAdapter("SELECT * FROM PART", dB.connectionString);
var ds = new DataSet();
asm.Fill(ds, "ASM");
part.Fill(ds, "PART");
DataRelation data_relation = new DataRelation(
"ASM_PART",
ds.Tables["ASM"].Columns["PART"],
ds.Tables["PART"].Columns["PART"]);
ds.Relations.Add(data_relation);
gridAsmPart.DataSource = ds;
}
编辑 1:似乎如果我使用旧的 DataGrid,它就可以工作。
嗯......在代码行......gridAsmPart.DataSource = ds;
...... ds
是一个DataSet
并且当你将DataSet
分配给网格作为DataSource
,那么您还需要在 DataSet
中指定网格应显示的“哪个”table。这就是网格 DataMember
的用途。
您是否尝试过将网格 DataMember
属性 设置为类似...?
gridAsmPart.DataSource = ds;
gridAsmPart.DataMember = “ASM”;
或者如果你想显示“部分”table......
gridAsmPart.DataSource = ds;
gridAsmPart.DataMember = “PART”;