列表框自定义属性

时间:2015-04-13 11:52:06

标签: javascript c# jquery asp.net webforms

我正在构建一个Web应用程序,它需要在ListBox样式的控件中显示100个(可能超过1000个)项目。但是,我需要为每个项目保留的不只是textvalue数据。 我尝试在itemtemplate中使用带有表的转发器,它可以工作并显示我想要的方式,但性能很差。

数据来自SQL数据源。

有没有办法自定义ListBox控件以允许每个列表项有多个值?

1 个答案:

答案 0 :(得分:0)

让我一步一步解释

首先,您需要一个多选选项启用列表框,您必须使用列表框,如

<asp:ListBox ID="ListBox1" runat="server" Height="149px" SelectionMode="Multiple" Width="113px">

然后你想在ListboxItem上执行Opration,因为你必须执行像

这样的操作
 private void UpClick()
{
    // only if the first item isn't the current one
    if(listBox1.ListIndex > 0)
    {
        // add a duplicate item up in the listbox
        listBox1.AddItem(listBox1.Text, listBox1.ListIndex - 1);
        // make it the current item
        listBox1.ListIndex = (listBox1.ListIndex - 2);
        // delete the old occurrence of this item
        listBox1.RemoveItem(listBox1.ListIndex + 2);
    }
}



 private void DownClick()
{
   // only if the last item isn't the current one
   if((listBox1.ListIndex != -1) && (listBox1.ListIndex < listBox1.ListCount - 1))
   {
      // add a duplicate item down in the listbox
      listBox1.AddItem(listBox1.Text, listBox1.ListIndex + 2);
      // make it the current item
      listBox1.ListIndex = listBox1.ListIndex + 2;
      // delete the old occurrence of this item
      listBox1.RemoveItem(listBox1.ListIndex - 2);
   }
}

对于全选,您可以清除列表框2并将列表框1中的所有项目填充到列表框2中。