ListBox.DataBinding方法问题

时间:2009-12-09 21:02:55

标签: c# asp.net listbox

关于ListBox.DataBinding方法的问题。我正在加载一个带有DataRows数组对象的列表框,我想检查每个DataRow元素的列值是否为true / false。如果列值为true,则修改当前listBox.ListItem对象的样式。下面是一些示例代码。:

System.Data.DataRow[] rows = Data.SchoolDetails.Select(filter);
lstBox.DataBinding += new EventHandler(lstBox_DataBinding);
lstBox.DataSource = rows;
lstBox.DataTExtField = "Value";
lstBox.DataValueField = "ValueCode";
lstBox.DataBind();

static void lstBox_DataBinding(object sender, EventArgs e)
{
  ListBox l = (ListBox) sender;
}

2 个答案:

答案 0 :(得分:1)

你无法用ListBox真正做到这一点。也许您应该使用ListView,它支持每个项目的ItemDataBinding事件。

答案 1 :(得分:0)

最佳答案可能是您在上述评论中包含的答案。

  
    
      

作为替代方案,我可以循环遍历DataRow数组并按此方式执行,并通过执行以下操作设置样式:lstBox.Items.Add(new ListItem(“”)。Attributes.CssStyle.Add(HtmlTextWriterStyle.FontWeight) , “胆大”));。谢谢你的帮助。 - 布兰登迈克尔亨特

    
  

这正是我要做的。