【问题标题】:dataGridView not showing data after DataSourcedataGridView 在 DataSource 之后不显示数据
【发布时间】:2018-01-05 21:39:33
【问题描述】:

我是 C# 新手,并且有简单的方法来显示来自表 DimCustomer 的数据。我从一个按钮调用这个方法,但它不显示数据。虽然当我调试我的代码时,我可以看到数据,但不显示它。大家有什么建议

private void ShowGridData()
        {
            // create a connection object
            string ConnectionString = "Integrated Security=SSPI;" +
            "database=AdventureWorksDW2012;" + "server=DESKTOP-L9L3SMT\\SQL2K12;";
            SqlConnection conn = new SqlConnection(ConnectionString);

            // open the connection
            conn.Open();

            // Create a DataTableMapping object
            DataTableMapping myMapping = new DataTableMapping("DimCustomer", "mapCustomer");
            SqlDataAdapter adapter = new SqlDataAdapter("Select * FROM DimCustomer where LastName='yang' and BirthDate='1966-04-08'", conn);

            // Call DataAdapter's TableMappings.Add method
            adapter.TableMappings.Add(myMapping);

            // Create a DataSet object and Call DataAdapter's Fill method
            DataSet ds = new DataSet();
            adapter.Fill(ds, "DimCustomer");
            dataGridView1.ColumnCount = 0;
            dataGridView1.DataSource = ds.DefaultViewManager;
        }

【问题讨论】:

  • 我已经有一段时间没有做WinForms了,但是dataGridView1.Invalidate()能解决问题吗?
  • DataGridView1.AutoGenerateColumns = true; DataGridView1.DataSource = ds;this 应该够用了
  • 如果不为dataGridView创建列,就没有地方放数据了
  • 很明显,您需要对所有这些 DB Provider 对象进行更多研究。您不需要表映射,不需要本地 DataAdapter 或 ViewManager,也不需要 Dataset。您确实需要关闭并处理您的连接并将日期存储为日期。另请阅读How to Ask 并采取tour

标签: c# datagridview sqldataadapter


【解决方案1】:

你可以试试这个吗?

dataGridView1.DataSource = ds.Tables[0];

【讨论】:

    猜你喜欢
    • 2017-04-08
    • 2014-11-10
    • 2016-07-28
    • 1970-01-01
    • 2016-09-03
    • 2011-07-31
    • 2016-10-12
    相关资源
    最近更新 更多