我正在使用 SQLite,我想在單個 DataGridView 中使用 Master-Detail。沒有錯誤回傳,我檢查了主表(“ASM”)和詳細表(“PART”)他們的資料是好的。但是, mygridAsmPart僅顯示一行帶有(Collection)column上的單詞PART。任何幫助將不勝感激。
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,它可以作業。
uj5u.com熱心網友回復:
嗯……在代碼行上gridAsmPart.DataSource = ds;……ds是 aDataSet并且當您將 aDataSet作為 a 分配給網格時DataSource,您還需要指定DataSet網格中應該顯示的“哪個”表。這就是網格DataMember的用途。
您是否嘗試將 gridsDataMember屬性設定為...?
gridAsmPart.DataSource = ds;
gridAsmPart.DataMember = “ASM”;
或者,如果您希望顯示“零件”表……。
gridAsmPart.DataSource = ds;
gridAsmPart.DataMember = “PART”;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429710.html
