2010-05-06 8 views
1

ASP.NET에서 DataGrid를 개체 목록에 바인딩하는 것은 매우 쉽습니다.ASP.NET에서 DataGrid를 사전에 바인딩

목록의 각 개체에 대해 행이 끝나고 지정된 행의 셀은 해당 개체의 속성에 바인딩됩니다.

그러나 내 개체의 속성 중 하나가 사전이고 각 개체에 특정 키가 있어야한다고 가정합니다. DataGridColumns 중 하나를 해당 사전 키에 바인딩 할 방법이 있습니까?

감사합니다.

답변

0

DataGrid 바인딩의 작업에 익숙하지 않지만 일반적으로 모든 공용 속성에서 바인딩을 수행 할 수 있습니다.

1

에 바인딩 Key 및에 바인딩을 시도하십시오. DataGrid.ItemDataBound에 대한 처리기를 추가하면 명시 적으로 사전에서 열 값을 설정할 수 있습니다. 가장 간단한 예제 :

protected void OnItemDataBound(object sender, DataGridItemEventArgs e) 
{ 
    myclass mine = (myclass) e.Item.DataItem; 

    int cellindex = 5; 
    e.Item.Cells[cellindex].Text = mine.mydict["thekey"]; 
} 
0

또 다른 옵션은 해당 특정 키의 값을 반환하는 클래스에 속성을 추가하는 것입니다.

public string TheKey 
{   
    get { return MyDictionary["thekey"]; } 
} 

(이 밖으로 순수 주의자는 이런 이유로 개체에 속성을 추가하는 아이디어를 좋아하지 않을 수도 있지만 간단한 솔루션을 수 있습니다.)

+0

유쾌하게 간단하다,하지만 그건 내가 돈 경우 런타임까지 "thekey"를 알지 못합니까? – mcoolbeth

관련 문제