2014-10-24 2 views
0

, 내가있는 DataGridView에서 콤보 상자 열을 추가하고 다음 코드를 사용하여 콤보 상자 항목을 선택하고 :C# 동적 LINQ 쿼리

var entityModel= new AdminEntities(); 
DataGridViewComboBoxColumn cboIsNew = new DataGridViewComboBoxColumn(); 
var isNew = (from a in entityModel.TOWERs select a.ISNEW).Distinct().OrderBy(x => x); 
cboIsNew.Items.AddRange(isNew.ToArray()); 
int i = dgvLoadTable.Columns["ISNEW"].Index; 
dgvLoadTable.Columns.Insert(i, dgvCol); 
dgvLoadTable.Columns[i].HeaderText = dgvLoadTable.Columns[i + 1].HeaderText; 
dgvLoadTable.Columns[i + 1].Visible = false; 

간단한 함수에 의해이 할 수있는 방법이 있나요을하는 I tablename과 컬럼 이름/인덱스만을 전달할 것인가? 또한 이렇게하면 :

dgvLoadTable.Columns.Insert(i, new DataGridViewComboBoxColumn()); 

이 동적으로 생성 된 콤보 상자에 항목을 어떻게 추가합니까? 다음과 같은 항목을 추가하려고했지만 작동하지 않습니다.

cboIsNew.Items.AddRange((from a in entityModel.TOWERs select a.ISNEW).Distinct().OrderBy(x => x)) 

아무 도움이됩니다.

답변

0

이 시도 :

cboIsNew.Items.AddRange((from a in entityModel.TOWERs select a.ISNEW) 
    .Distinct().Select(x => new DataGridViewComboBoxColumn()).ToList()); 

당신은 소스로 X를 사용하여 특정 값으로 DataGridViewComboBoxColumn을 볼 필요가있을 것이다,하지만 난 할 수 있어야 개체의 목록을 작성해야합니다 밖으로 누워 한 방법 덧붙였다.