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 關注
- 396 瀏覽
添加回答
舉報