2012-12-05 3 views
-1

두 테이블 A와 B가 있습니다. 테이블 B는 테이블 A에서 외래 키 (A.id)를받습니다. DataGridView에서 테이블 B의 테이블 A의 ID를 표시하는 대신 A.FirstName을 표시하고 싶습니다. 이것이 가능한가?DataGridView 및 외래 키

답변

0
using System.Linq; 

... 

//Initialization, please ignore it, as you have data tables A and B populated from the database 
/********************/ 
DataTable A, B; 
A = new DataTable(); 
B = new DataTable(); 
A.Columns.Add("Id",typeof(int)); 
A.Columns.Add("ForeignId",typeof(int)); 
B.Columns.Add("Id",typeof(int)); 
B.Columns.Add("Name", typeof(string)); 

A.Rows.Add(1,1); 
B.Rows.Add(1,"First"); 
/********************/ 

var aEnum = A.AsEnumerable(); 
var bEnum = B.AsEnumerable(); 

dataGridView1.DataSource = (from a in aEnum 
          join b in bEnum on a["ForeignId"] equals b["Id"] 
          select new 
          { 
           Id=a["Id"], 
           ForeignId = a["ForeignId"], 
           ForeignName = b["Name"] 
          }).ToList();