3 回答
TA贡献1784条经验 获得超8个赞
你的btn_click职能。aaa(i)每个循环都会在函数内初始化或创建一个新对象
每次aaa(i)在for循环中调用DataTable dt = new DataTable()都会被调用
public void aaa(int i)
{
DataTable dt = new DataTable(); ///this will initialize every time, a new data table will be created every loop
dt.Columns.Add("host");
DataRow dr = dt.NewRow();
for (int a = 1; a <= i; a++)
{
dr[a] = i;
}
dt.Rows.Add(dr);
this.dataGridView1.DataSource = dt;
}
}
254我是否可以建议您在函数中传递intaaa(i)并在内部执行循环,例如
private void button1_Click(object sender, EventArgs e)
{
aaa(254);
}
public void aaa(int i) //value of i = 254
{
DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
for (var s = 0; s <= i; s++ ) {
for (int a = 1; a <= i; a++)
{
dr[a] = i;
}
dt.Rows.Add(dr);
this.dataGridView1.DataSource = dt;
}
}
}
或者,如果按钮中循环的原因只是因为 void 内循环的数量限制,aaa那么您可以将其简化为
public void aaa(int i) //value of i = 254
{
DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
for (int a = 1; a <= i; a++)
{
dr[a] = i;
}
dt.Rows.Add(dr);
this.dataGridView1.DataSource = dt;
}
}
TA贡献1829条经验 获得超4个赞
我自己想到了可用的解决方案。
DataTable dt = new DataTable(); dt.Columns.Add("number"); int i = 10; int a = 0; while (a<=i) { DataRow dr = dt.NewRow(); a++; dr[0] = a; dt.Rows.Add(dr); } this.dataGridView1.DataSource = dt;
TA贡献1780条经验 获得超5个赞
我总是这样做
ListCollectionView collectionView;
collectionView = new ListCollectionView(*your list of items*);
datagridView1.ItemSource = collectionView;
这样的实现为您提供了未来开放的排序、过滤等方式。
- 3 回答
- 0 关注
- 306 浏览
添加回答
举报