我很难从我以编程方式添加的dataset实例中获取一个datagridviewrow对象。我这样做是为了使用与我的其他构造函数相同的方法,该构造函数从表单的datagridview中的选定行工作。
我的问题是datagridview.rows.count总是0。阅读"ASME_AllowableStress.Rows.Count“时,我得到了2600行的完整表。我不确定我遗漏了什么或者声明错了什么,没有得到添加的数据视图行。这些列似乎是添加的。
public Material(int mat_id)
{
this.ID = mat_id;
MaterialDataSet materialDataSet = new MaterialDataSet();
MaterialDataSetTableAdapters.ASME_2009_AllowableStressTableAdapter aSME_2009_AllowableStressTableAdapter = new MaterialDataSetTableAdapters.ASME_2009_AllowableStressTableAdapter();
MaterialDataSetTableAdapters.TableAdapterManager tableAdapterManager = new MaterialDataSetTableAdapters.TableAdapterManager();
aSME_2009_AllowableStressTableAdapter.Fill(materialDataSet.ASME_2009_AllowableStress);
DataGridView materialDataGridView = new DataGridView();
DataView myView = materialDataSet.Tables[0].DefaultView;
materialDataGridView.DataSource = myView;
MessageBox.Show(Convert.ToString(materialDataSet.ASME_2009_AllowableStress.Rows.Count));
MessageBox.Show(Convert.ToString(materialDataGridView.Rows.Count));
DataGridViewRow row = new DataGridViewRow();发布于 2012-03-06 21:21:45
因为我看不到其余的代码,所以我只能假设;但是,我今天在VB.net中遇到了同样的问题(我猜这是C#?),在尝试将表转储到列表( T)或将表附加到一个组合框中时,没有得到任何结果。
最后,我做了一个全新的表格,复制了绝对必要的代码,然后.啊,真灵。这两种表单的不同之处在于,我在处理Me.Load的函数中调用了Me.Load;我认为它是从程序中自动放在那里的(我使用的是VisualBasic2010Express),但它可能是我一时心不在焉地放进去的。我把它拿出来,一切都按我的意愿进行。
为什么是这个(额外的?我没有自定义构造函数),对InitializeComponent()的调用导致绝对没有数据显示(我也无法编程地将行添加到表中),我不知道,因为在msdn上搜索InitializeComponent没有帮助。
无论如何,我希望这能解决你自己的问题,请让我们知道它做了或没有!
https://stackoverflow.com/questions/8801637
复制相似问题