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