dataGridView 在 DataSource 之后不显示数据
Posted
技术标签:
【中文标题】dataGridView 在 DataSource 之后不显示数据【英文标题】:dataGridView not showing data after 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
【参考方案1】:
你可以试试这个吗?
dataGridView1.DataSource = ds.Tables[0];
【讨论】:
以上是关于dataGridView 在 DataSource 之后不显示数据的主要内容,如果未能解决你的问题,请参考以下文章
频繁绑定DataGridView的DataSource却不正常显示
c#中datagridview中datasource反复赋值没有变化?
dataGridView 在 DataSource 之后不显示数据