2011-02-24 3 views
2

데이터베이스에서 데이터 바인딩 된 C#의 확인란 상자가 있습니다. 내가하고 싶은 일은 각 체크 박스 목록 항목의 텍스트 오른쪽에 아이콘을 표시하는 것입니다. 그래도 각 아이콘은 달라야합니다. 당신의 도움을 주셔서 감사합니다!CheckBoxList 문제

+0

어떤 도움이됩니까? 귀하의 질문에서 읽을 수있는 것은 귀하가 그것을 어떻게 표시하고 싶은지입니다. – Shoban

답변

1

당신은 우리는 매우 유사한 접근 방식을 사용했습니다이

<asp:CheckBoxList ID="CheckBoxList1" runat="server" 
DataSourceID="dataSourceID" 
DataTextField="dataTextField" 
DataValueField="dataTextValue" 
OnDataBound="CheckBoxList1_DataBound"> 
</asp:CheckBoxList> 

protected void CheckBoxList1_DataBound(object sender, EventArgs e) 
{ 
    var checkBox = sender as CheckBoxList; 
    if(checkBox != null) 
    { 
     foreach (ListItem listItem in checkBox.Items) 
     { 
      listItem.Text = string.Format("{0}<img src='{1}' />", listItem.Text, GetImageFor(listItem.Text)); 
     } 
    } 

} 

private string GetImageFor(string text) 
{ 
    // return image url for check box based on text. 

    if(text.Equals("Banana")) return "banana.gif"; 
    ... 
    ... 
} 
1

같은 일을하지만, 여러 페이지에 구현을 단순화하기 위해 개체 모델에 코드를 이동 할 수있다.

읽기 전용 오브젝트 코드의 특성 (C#)를 :

public string chk_item_html { get { return item_name + string.Format("<img src='item{0}.png' />", item_id); } } 

그리고 다음 ASP에서 : CheckBoxList, 당신은 단순히 설정 DataTextField = "chk_item_html"

0

당신은에 CSS 클래스를 적용 할 수 있습니다 각 데이터 바운드 체크 박스 및 CSS로 아이콘 표시