参加したいとE 2 DataTables
と、このようGridView
に設定:Datatable.mergeは、私はこのような2 <code>DataTables</code>を持って
dt1.Merge(dt2, true, MissingSchemaAction.Add);
GridView1.DataSource = dt1;
GridView1.DataBind();
しかし、このような出力を得る:私はこのようにマージすることができますどのように
?
参加したいとE 2 DataTables
と、このようGridView
に設定:Datatable.mergeは、私はこのような2 <code>DataTables</code>を持って
dt1.Merge(dt2, true, MissingSchemaAction.Add);
GridView1.DataSource = dt1;
GridView1.DataBind();
しかし、このような出力を得る:私はこのようにマージすることができますどのように
?
あなたはこの行を追加する必要があります。
dt1.PrimaryKey = new[] { dt1.Columns[0], dt1.Columns[1] };
dt2.PrimaryKey = new[] { dt2.Columns[0], dt2.Columns[1] };
は LINK
、あなたは主キーを使用して問題を解決し、あなたが探している正確な出力を持つことができ、このリンクを参照してください。あなたはLINQでもそうすることができます:
var result = from a in dt1.AsEnumerable()
join b in dt2.AsEnumerable() on new { C = a.Field<string>("CAR"),
M = a.Field<string>("MODEL") } equals new { C = b.Field<string>("CAR"),
M = b.Field<string>("MODEL") }
select
{
CAR = a.Field<string>("CAR"),
MODEL = a.Field<string>("MODEL"),
DATE1 = a.Field<string>("DATE1") // You should write your type
//...
};
このようなエラーが発生する:これらの列には現在一意の値はありません。 "} \t System.Exception {System.ArgumentException} – phe
列[0]は一意ではありませんか?そして同じエラーを得る。 – phe
私は一意の列を持っていません。私は1.と2.の列で参加する必要があります。 – phe