Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF的Listview中查找数据项或查找字符串/记录_C#_Wpf_Listview - Fatal编程技术网

C# 在WPF的Listview中查找数据项或查找字符串/记录

C# 在WPF的Listview中查找数据项或查找字符串/记录,c#,wpf,listview,C#,Wpf,Listview,我一整天都在搜索WPF中listview中的记录/项目/字符串,但运气不好。我刚刚开始WPF特别是c。在我的程序中,我有textbox/textblock按钮和listview。。。。假设我在listview中已有一条记录。顺便说一下,在listview中,我有参考代码列和详细信息。例如,当我在文本框中输入“12345”并单击搜索按钮时,如果该记录不存在,但该记录在listview中,它将给我一条消息。它将Selected=True 这是我在VB.net(不是WPF)中的代码,我想在WPF C中

我一整天都在搜索WPF中listview中的记录/项目/字符串,但运气不好。我刚刚开始WPF特别是c。在我的程序中,我有textbox/textblock按钮和listview。。。。假设我在listview中已有一条记录。顺便说一下,在listview中,我有参考代码列和详细信息。例如,当我在文本框中输入“12345”并单击搜索按钮时,如果该记录不存在,但该记录在listview中,它将给我一条消息。它将
Selected=True

这是我在VB.net(不是WPF)中的代码,我想在WPF C中这样做#


主要方法:

    private void init()
    {
        listView1.Items.Add(new ListViewItem() { Content = "Hi" });
        listView1.Items.Add(new ListViewItem() { Content = "Hello"});
        listView1.Items.Add(new ListViewItem() { Content = "Buy" });
    }

    private bool find(string str)
    {
        foreach (ListViewItem item in listView1.Items)
        {
            if (item.Content.Equals(str))
            {
                return true;
            }
        }

        return false;
    }

    private void select(string str)
    {
        foreach (ListViewItem item in listView1.Items)
        {
            if (item.Content.Equals(str))
            {
                item.IsSelected = true;
            }
            else
            {
                item.IsSelected = false;
            }
        }
    }

    private void onSelectedClickHandler(object sender, RoutedEventArgs e)
    {
        if (find(searchTextBox.Text))
        {
            select(searchTextBox.Text);
        }
        else
        {
            MessageBox.Show("Not found");
        }
    }

我会在这里使用linq查询

var qry = from t in LVNewBill.Items
          where t.Text.Contains(InsertChange) 
          select t;

foreach(var item in qry)
{
      item.Selected = true;
      item.EnsureVisible();
      item.SubItems[1].Text = txtdetails.Text;
      item.SubItems[2].Text = txtperiod.Text;
      item.SubItems[3].Text = txtduedate.Text;

      //Might want to consider TryParse here
      double newtxtamt  = double.Parse(txtamt.Text); 
      item.SubItems[4].Text = newtxtamt.ToString("###,###,##0.#0");
}
var qry = from t in LVNewBill.Items
          where t.Text.Contains(InsertChange) 
          select t;

foreach(var item in qry)
{
      item.Selected = true;
      item.EnsureVisible();
      item.SubItems[1].Text = txtdetails.Text;
      item.SubItems[2].Text = txtperiod.Text;
      item.SubItems[3].Text = txtduedate.Text;

      //Might want to consider TryParse here
      double newtxtamt  = double.Parse(txtamt.Text); 
      item.SubItems[4].Text = newtxtamt.ToString("###,###,##0.#0");
}