dtFirst
아래와 같이 이름이 지정된 데이터 테이블이 하나 있습니다.
Fieldname Newvalue
antenastructure 12
slno 2
servicelevel
powersupply
다른 데이터 테이블 dtMaster
Mastertabe Masterfield infoid zvalue qvalue
M_seq antenastructure 123
M_seq slno 1
M_seq servicelevel 133
M_seq powersupply 154
M_seq azimheight 124
내가 원하는 것은 내가 행을 제거 할 것입니다 dtMaster
경우 Fieldname
의 dtFirst
가 포함되어 있지 않습니다 Newvalue
여기 즉 내가 포함 된 행을 제거 할 servicelevel
및 powersupply
.These 두 그중 내가 작은 부분을 게시하고 밖으로 빅 데이터 테이블입니다
이것이 작동하는지 확인하십시오.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataTable dtFirst = new DataTable();
dtFirst.Columns.Add("Fieldname", typeof(string));
dtFirst.Columns.Add("Newvalue", typeof(int));
dtFirst.Columns["Newvalue"].AllowDBNull = true;
dtFirst.Rows.Add(new object[] {"antenastructure", 12});
dtFirst.Rows.Add(new object[] {"slno", 2});
dtFirst.Rows.Add(new object[] {"servicelevel"});
dtFirst.Rows.Add(new object[] {"powersupply"});
string[] dtFirstValidRows = dtFirst.AsEnumerable().Where(x => x.Field<int?>("Newvalue") != null).Select(x => x.Field<string>("Fieldname")).ToArray();
DataTable dtMaster = new DataTable();
dtMaster.Columns.Add("Mastertabe", typeof(string));
dtMaster.Columns.Add("Masterfield", typeof(string));
dtMaster.Columns.Add("infoid", typeof(int));
dtMaster.Columns["infoid"].AllowDBNull = true;
dtMaster.Columns.Add("zvalue", typeof(int));
dtMaster.Columns["zvalue"].AllowDBNull = true;
dtMaster.Columns.Add("qvalue", typeof(int));
dtMaster.Columns["qvalue"].AllowDBNull = true;
dtMaster.Rows.Add(new object[] {"M_seq", "antenastructure", 123});
dtMaster.Rows.Add(new object[] {"M_seq", "slno", 1});
dtMaster.Rows.Add(new object[] {"M_seq", "servicelevel", 133});
dtMaster.Rows.Add(new object[] {"M_seq", "powersupply", 154});
dtMaster.Rows.Add(new object[] {"M_seq", "azimheight", 124});
dtMaster = dtMaster.AsEnumerable().Where(x => dtFirstValidRows.Contains(x.Field<string>("Masterfield"))).CopyToDataTable();
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다