2011-02-24 29 views
2

我在C#中有一個checkboxlist,它是數據庫中的數據綁定。我想要做的是在每個複選框列表項的文本後面右側顯示一個圖標。每個圖標需要不同。謝謝你的幫助!CheckBoxList問題

+0

什麼幫助?我可以從你的問題中讀到的是你希望如何顯示它。 – Shoban 2011-02-24 01:16:54

回答

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的圖標