C# 要使用windows窗体C在gridview中显示列表内容吗

C# 要使用windows窗体C在gridview中显示列表内容吗,c#,C#,在下面的代码中 List<string> unaffectedDb = new List<string>(); List<string> affectedDb = new List<string>(); List<string> nticdblist = new List<string>(); nticdblist = Direc

在下面的代码中

            List<string> unaffectedDb = new List<string>();
            List<string> affectedDb = new List<string>();
            List<string> nticdblist = new List<string>();
            nticdblist = Directory.GetFiles(textBox3.Text,"*.mdb").ToList();
            foreach( var nticdb in nticdblist)
            {
               using(var connection = new OleDbConnection("Data Source="+ nticdb + ";Persist Security Info=False;Provider=Microsoft.Jet.OLEDB.4.0"))
               {
                  string tablename = this.textbox1.Text;
                  string columnname = this.textbox2.Text;
                  string strcommand = " SELECT "+columnname + " From " + tablename + " ";
                  connection.Open();
                  OleDbCommand command = new OleDbCommand(strcommand , connection);
                  OleDbDataAdapter adapter = new OleDbDataAdapter(command);
                  OledbDataReader reader = command.ExecuteReader();
                  if(reader.HasRows.Equals(0))
                  {
                     unaffectedDB.Add(nticdb);
                  }
                  else
                  {
                     affectedDB.Add(nticdb);
                  }
                  dataGridView1.DataSource = affectedDB;
               }
             }   


        }
    }
}

我只想在gridview中显示两个列表,即affecteddb和UnbefectedDB内容,我尝试了其中一个列表,但grid视图没有在输出中显示,请给出一些想法

这是因为DataGridView查找包含对象的属性。 对于字符串,只有一个属性-长度。所以,你需要一个包装 像这样的线

看看这个

更新:

下面是一个基于我的答案的工作示例的屏幕截图


DataGridView需要一个对象

这是因为DataGridView查找包含对象的属性。 对于字符串,只有一个属性-长度。所以,你需要一个包装 像这样的线

看看这个

更新:

下面是一个基于我的答案的工作示例的屏幕截图


首先,适配器永远不是用户。您还错过了dataGridView1.DataBind。如果gridview没有出现并且没有运行时浏览器,则只需绑定gridview dataGridView1.DataBind@IGORGJANC OP只想在行发生更改的地方保存数据源,并将其显示在dataGridView上,因此它与他所询问的问题没有真正的关系。不要将dataGridView称为GridView或DataGrid!!这是错误和混乱的,因为这些是不同的控件。总是用正确的名字来称呼事物!是的,打字需要四个字母。首先,适配器永远不是用户。您还错过了dataGridView1.DataBind。如果gridview没有出现并且没有运行时浏览器,则只需绑定gridview dataGridView1.DataBind@IGORGJANC OP只想在行发生更改的地方保存数据源,并将其显示在dataGridView上,因此它与他所询问的问题没有真正的关系。不要将dataGridView称为GridView或DataGrid!!这是错误和混乱的,因为这些是不同的控件。总是用正确的名字来称呼事物!是的,输入还需要四个字母谢谢,我尝试了上面的内容在网格视图中添加,但在输出中没有显示iam获取空白网格视图您可以使用dataGridView1。刷新;要刷新网格视图,请尝试刷新,但仍会显示不显示内容的空白网格视图,该列表包含mdb文件的路径,它是否会影响显示?谢谢,我尝试在网格视图中添加上述内容,但在输出中不显示iam获取空白网格视图您可以使用dataGridView1.Refresh;刷新网格视图谢谢,尝试通过刷新也仍然显示不显示的内容只有空白网格视图,列表包含mdb文件的路径是否会影响显示??
public class DataGridViewItemFoo
{
    public string Value { get; set; }
    public DataGridViewItemFoo(string value)
    {
        this.Value = value;
    }

}

List<DataGridViewItemFoo> affectedDbFoo = affectedDb.Select(ii => new DataGridViewItemFoo(ii)).ToList();

dataGridView1.DataSource = affectedDbFoo;
dataGridView1.Refresh();