C# 在VisualStudio中,如何在填充了CSV文件的datagridView中搜索数据?

C# 在VisualStudio中,如何在填充了CSV文件的datagridView中搜索数据?,c#,C#,我正在使用C#和Visual Studio 2017,对此我有点陌生。我创建了一个用CSV文件填充的datagridview,我可以创建数据并将这些文件中的数据导入到datagridview,但我想添加一个搜索选项,或者使用项目名称的项目编号。我目前通过观看教程和阅读进行设置的方式与导入和填充表格类似: using (OpenFileDialog importData = new OpenFileDialog() { Filter="CSV|*.csv", ValidateNames = tru

我正在使用C#和Visual Studio 2017,对此我有点陌生。我创建了一个用CSV文件填充的datagridview,我可以创建数据并将这些文件中的数据导入到datagridview,但我想添加一个搜索选项,或者使用项目名称的项目编号。我目前通过观看教程和阅读进行设置的方式与导入和填充表格类似:

using (OpenFileDialog importData = new OpenFileDialog() { Filter="CSV|*.csv", ValidateNames = true })

{
    if (importData.ShowDialog() == DialogResult.OK)
    {
        var import = new StreamReader(new FileStream(importData.FileName, FileMode.Open));

        var csv = new CsvReader(import);
        cCIProjectsBindingSource.DataSource =csv.GetRecords<CCI_Projects>();
使用(OpenFileDialog importData=new OpenFileDialog(){Filter=“CSV |*.CSV”,ValidateNames=true})
{
if(importData.ShowDialog()==DialogResult.OK)
{
var import=newstreamreader(新文件流(importData.FileName,FileMode.Open));
var csv=新CsvReader(导入);
cCIProjectsBindingSource.DataSource=csv.GetRecords();

我之所以这样做而不使用SQL,是因为这是为一家目前只使用excel的小公司设计的,而且现在还不想为数据库服务付费。如果这是一种低效的方式,请务必让我知道。

您必须逐行搜索,并使用您希望得到的列价值观

比如:

    try
    {
        foreach (MyLine as DataGridViewRow in __YourDataGridView.Rows)
        {
            CurrentValueN = MyLine.Cells(1).Value

            // (or you can utilize named cells like)

            CurrentValueN = MyLine.Cells("FirstColumn").Value
        }
    catch (exception ex)
    { }

值得一提的是,FIRSTCOLUMN不是字段名,而是Datagridview属性中的ColumnName。

谢谢你Ben!:)谢谢你,我会尝试一下!我也很好奇,我以前用过这个,但效果不是很好。有人知道这是否是正确的使用方法吗?string searchedText=SearchAllProjectsBox.Text、 var matchedRows=this.dataGridView1.Rows.Cast().Select(r=>r.Cells[“ProjectName”].Value)。其中(v=>v!=null&&v.ToString()==searchedText)。ToList();