2011-02-17 2 views

답변

1

DataBinding을 캡처하고 원하는대로 수행하는 것이 아니라 행 단위로이 작업을 수행하는 것이 왜 도움이되는지 확신 할 수 없습니다. 하지만 당신은 정말이 일을하고자한다면, 그럼 그냥 데이터 소스를 통해 반복하고 이벤트 인상 : 당신이 확인할 수 있도록,

public class ItemDataBoundArgs: EventArgs 
{ 
    public object Item; 
} 
public class MyListBox: ListBox 
{ 
    public event EventHandler ItemDataBound; 
    protected override void OnDataBinding(EventArgs e) 
    { 
     base.OnDataBinding(e); 
     if (ItemDataBound != null) 
     { 
      foreach (var item in (IEnumerable)DataSource) 
      { 
       var e= new ItemDataBoundArgs(); 
       e.Item=item; 
       ItemDataBound(this,e); 
      } 
     } 
    } 
} 

이 그것을해야하지 않는다,는 IEnumerable로 데이터 소스를 필요로 물론을 그것도.

인터뷰 질문과 같습니다.

+0

아니요 인터뷰 질문이 없습니다. 목록의 각 행에 '제목'을 추가하려고합니다. 툴팁과 비슷하지만 행 바운드 이벤트를 사용하여 gridview에서 수행하는 방법을 알고 있지만 목록 상자에서도 동일한 작업을 수행 할 수 없습니다. – flavour404

+1

컨트롤을 만든 후 Items 컬렉션을 반복 할 수 없습니까? –

+1

재밌 네가 말하면, 그게 내가 결국 한 짓이야. 감사. – flavour404