搜索项目具有自定义数据的列表框

格雷格·阿德勒(Greg Adler)

我正在将数据与附加的DateTime数据一起加载到列表框中。现在,我想在列表框中搜索包含tagID的项目(例如:e2003450976543)。当我搜索列表框时,即使可以看到它也找不到tagID。我假设搜索参数不排除附加的DateTime数据。这是我的代码:

class ExpiringItem
{
    private string text;
    public ExpiringItem(string text)
    {
        this.text = text;
        this.Added = DateTime.Now;
    }
    public DateTime Added { get; private set; }
    public override string ToString()
    {
        return text;
    }
}

private void timer1_Tick(object sender, EventArgs e)
{
    for (int i = listBox1.Items.Count -1; i > -1; i--)
    {
        var exp = (ExpiringItem)listBox1.Items[i];
        var timeVisible = DateTime.Now - exp.Added;
        if (timeVisible.TotalSeconds > 30)
            listBox1.Items.RemoveAt(i);

    }
}

要插入我正在使用: lstTagsHold.Items.Add(new ExpiringItem(txtTagID.Text));

基本上我要做的就是检查tagID列表框中是否存在...

对于测试,我正在使用: if (lstHold.Items.Contains(TagID))..

战车

Items.Contains方法对参数与存储在ListBox.Items中的对象的身份进行测试但是由于您没有对象,而只有一个字符串值,因此它不起作用,因此您需要搜索Items ..:

text public按照JC的说明进行制作之后,您可以使用以下函数来访问它:

int findFirstID(ListBox lb, string id)
{
    for (int i = 0; i < lb.Items.Count; i++)
    {
        var ei = lb.Items[i] as ExpiringItem;
        // if text is public:
        if (ei.text == id) return i;
        // if it isn't:
        if (ei.ToString()== id) return i;

    }
    return -1;
}

这将返回具有您要搜索的ID的第一项的索引,如果未找到则返回-1。

如果您只想检查是否在中,则listBox可以使用以下方法LINQ

// if text is public:
if (listBox1.Items.Cast<ExpiringItem>().Where(x => x.text == yourID).Count() > 0) ..

// if it isn't::
if (listBox1.Items.Cast<ExpiringItem>().Where(x => x.ToString()== yourID).Count() > 0) ..

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VB.NET中带有自定义项目的列表框

来自分类Dev

自定义列表框设计

来自分类Dev

计算具有数据绑定的列表框的项目

来自分类Dev

将项目添加到自定义列表框

来自分类Dev

将项目添加到自定义列表框

来自分类Dev

在列表框中嵌套有用户控件的自定义用户控件

来自分类Dev

如何伸展自定义列表框?

来自分类Dev

ZK自定义列表框组件

来自分类Dev

具有自定义列表视图的自定义警报对话框

来自分类Dev

具有自定义对象的可编辑组合框可重写下拉列表中的项目

来自分类Dev

列表框选中的文本与列表框文本+自定义文本(richtextbox)

来自分类Dev

从自定义数组列表中获取具有相同标志的所有项目的列表

来自分类Dev

使用访问数据库将具有多个值的项目从列表框显示到文本框中

来自分类Dev

自定义列表框-如何将列表框引用从ItemTemplate内部传递给转换器?

来自分类Dev

具有自定义数据的ListView

来自分类Dev

如何将自定义对象列表作为源绑定到列表框?

来自分类Dev

打印所有列表框项目

来自分类Dev

带有DataTable自定义搜索框的AngularJs

来自分类Dev

带有快速搜索框的自定义键盘工具

来自分类Dev

自定义WPF绑定不会在选择列表框时更新

来自分类Dev

像Google现在一样的自定义卡列表框

来自分类Dev

创建与每个列表框项一起显示的“自定义菜单” Windows Phone

来自分类Dev

将自定义对象添加到C#中的选中列表框中

来自分类Dev

具有自定义编辑对话框的JTable返回复杂的数据类型

来自分类Dev

在r中旋转数据框并添加具有自定义值的列

来自分类Dev

具有带有Spinner的自定义列表项的自定义列表视图

来自分类Dev

具有搜索视图的Android自定义ActionBar

来自分类Dev

我如何在WPF列表框中找到具有分组列表绑定的项目?

来自分类Dev

具有Linq全文搜索查询的C#列表框过滤器

Related 相关文章

  1. 1

    VB.NET中带有自定义项目的列表框

  2. 2

    自定义列表框设计

  3. 3

    计算具有数据绑定的列表框的项目

  4. 4

    将项目添加到自定义列表框

  5. 5

    将项目添加到自定义列表框

  6. 6

    在列表框中嵌套有用户控件的自定义用户控件

  7. 7

    如何伸展自定义列表框?

  8. 8

    ZK自定义列表框组件

  9. 9

    具有自定义列表视图的自定义警报对话框

  10. 10

    具有自定义对象的可编辑组合框可重写下拉列表中的项目

  11. 11

    列表框选中的文本与列表框文本+自定义文本(richtextbox)

  12. 12

    从自定义数组列表中获取具有相同标志的所有项目的列表

  13. 13

    使用访问数据库将具有多个值的项目从列表框显示到文本框中

  14. 14

    自定义列表框-如何将列表框引用从ItemTemplate内部传递给转换器?

  15. 15

    具有自定义数据的ListView

  16. 16

    如何将自定义对象列表作为源绑定到列表框?

  17. 17

    打印所有列表框项目

  18. 18

    带有DataTable自定义搜索框的AngularJs

  19. 19

    带有快速搜索框的自定义键盘工具

  20. 20

    自定义WPF绑定不会在选择列表框时更新

  21. 21

    像Google现在一样的自定义卡列表框

  22. 22

    创建与每个列表框项一起显示的“自定义菜单” Windows Phone

  23. 23

    将自定义对象添加到C#中的选中列表框中

  24. 24

    具有自定义编辑对话框的JTable返回复杂的数据类型

  25. 25

    在r中旋转数据框并添加具有自定义值的列

  26. 26

    具有带有Spinner的自定义列表项的自定义列表视图

  27. 27

    具有搜索视图的Android自定义ActionBar

  28. 28

    我如何在WPF列表框中找到具有分组列表绑定的项目?

  29. 29

    具有Linq全文搜索查询的C#列表框过滤器

热门标签

归档