亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c# dataGridView for 循環添加數據

c# dataGridView for 循環添加數據

C#
一只萌萌小番薯 2023-08-13 15:34:04
使用for循環生成數字1-100,并將每個數字添加到dataGridView在我嘗試使用代碼后,我只顯示了一行,即最后 100 行。public void aaa(int i) {    DataTable dt = new DataTable();    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;}private void button1_Click(object sender, EventArgs e) {    for (int i = 1; i <= 254; i++)    {        aaa(i);    }       }
查看完整描述

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;

}

}


查看完整回答
反對 回復 2023-08-13
?
浮云間

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;


查看完整回答
反對 回復 2023-08-13
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

我總是這樣做


ListCollectionView collectionView;

collectionView = new ListCollectionView(*your list of items*);


datagridView1.ItemSource = collectionView;

這樣的實現為您提供了未來開放的排序、過濾等方式。



查看完整回答
反對 回復 2023-08-13
  • 3 回答
  • 0 關注
  • 396 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號