Проблема CheckBoxList - PullRequest
       16

Проблема CheckBoxList

2 голосов
/ 24 февраля 2011

У меня есть флажок в C #, который связан с базой данных. То, что я хотел бы сделать, это отобразить значок с правой стороны после текста для каждого элемента флажка. Каждый значок должен быть другим, хотя. Спасибо за вашу помощь!

Ответы [ 3 ]

1 голос
/ 27 октября 2011

Мы использовали подход, который довольно похож, но перемещает код в объектную модель, чтобы упростить реализацию на нескольких страницах.

Свойство только для чтения в объектном коде (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"

1 голос
/ 24 февраля 2011

Вы могли бы сделать что-то вроде этого

<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";
    ...
    ...
}
0 голосов
/ 27 октября 2011

Вы можете применить класс css к каждому флажку привязки данных и отобразить значок с помощью CSS

...