将数据从类发送到DataGridView

时间:2015-05-09 10:44:25

标签: c# datagridview

它是一个窗口表单应用程序,我在其中创建了一个链接列表。 我的一个函数是一个搜索函数,它接受来自用户的参数并根据输入搜索链接列表并输出Nod中的所有内容(Nod包含FirstName,LastName,Telephone)在DataGridView中输出它形成。

我无法做到的事情:将Nod相关信息(FirstName,LastName,Telephone)发送到表单上的DataGridView。

public void search(string input)
    {
        Node current = First;

        int txt;
        bool isNumerical = int.TryParse(input, out txt);

        if (!isNumerical)
        {

            while (current != null)
            {
                if (current.FirstName.Equals(input) || current.LastName.Equals(input))
                {                       
                    Console.WriteLine(current.FirstName);
                    Console.WriteLine(current.LastName);
                    Console.WriteLine(current.Telephone);
                    Console.WriteLine("**********");
                }
                current = current.NextNode;
            }
        }
        else
        {
            while (current != null)
            {
                if (current.Telephone==txt)
                {                       
                    Console.WriteLine(current.FirstName);
                    Console.WriteLine(current.LastName);
                    Console.WriteLine(current.Telephone);
                    Console.WriteLine("**********");
                    break;
                }
                current = current.NextNode;
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

如果我猜对了你的结构。

在表单上有一个DataGridView,在此表单的代码隐藏中,您可以调用搜索。

如果只有单一结果,则使用Grant Winney建议。但我认为可能会有很多结果:

public List<Node> search(string input)

在方法中创建一个List结果并初始化它。

然后当找到结果时将其添加到列表中。

在方法的最后添加:

return results;

将此方法用作:

var results = search(string input);

或     名单

使用方法后循环列表并填充DataGridView

<强>增加:

检查你的WHILE

第一个循环没有;当你找到第一个匹配时结束,但第二个匹配。