如何將陣列型別繫結到DataGridView控制項

2022-03-19 18:08:19 字數 1942 閱讀 3273

datagridview控制項的datasource有以下幾個型別:

datagridview 類支援標準的 windows 窗體資料繫結模型。這意味著資料來源可以是實現下列介面之一的任何型別:

陣列如果直接繫結到datagridview控制項,會並不見得得到你想要的結果。下面是乙個示例**:

private

void button2_click(object sender, eventargs e)

for (int i = 0; i < 100; i++)

intarr[i] = (int)mylist[i];

this.datagridview1.datasource = intarr;

}

執行這段**,不會報錯,但是datagridview並不顯示intarr陣列裡面的100個不同數字,而是什麼都沒有。

這裡有三個常用的方法可以把intarr的資料顯示到datagridview裡。

1. 把資料放入到乙個datatable裡面。

private

void button2_click(object sender, eventargs e)

for (int i = 0; i < 100; i++)

intarr[i] = (int)mylist[i];

datatable dt = new datatable();

datacolumn dc = new datacolumn("number");

dt.columns.add(dc);

foreach (int s in intarr)

this.datagridview1.datasource = dt;

}

下面是執行結果:

因為datasource綁的是物件屬性,所以利用包裝容器類,建乙個物件陣列也可以達到目的。

protected

class item

public

int value

set }}

private

void button2_click(object sender, eventargs e)

for (int i = 0; i < 100; i++)

intarr[i] = (int)mylist[i];

item itemarr = new item[100];

for (int i = 0; i < 100; i++)

itemarr[i] = new item(intarr[i]);

this.datagridview1.datasource = itemarr;

}

上面的item類就是乙個包裝容器類。 **執行的結果

這種方法對應的最簡單。直接對應的把陣列裡面的每個元素轉換成乙個陣列類顯示

private

void button2_click(object sender, eventargs e)

for (int i = 0; i < 100; i++)

intarr[i] = (int)mylist[i];

this.datagridview1.datasource = (from number in intarr select new ).toarray();

}

這是執行結果圖,number就是列名

當然肯定還有其他的方法來實現,這裡只是舉三個例子作為乙個常用的方法。

如何將網域名稱繫結到hexo

1.擁有乙個githubname.github.io可以正常訪問的網域名稱,如我的github部落格 2.購買網域名稱,個人推薦阿里雲,首年年費比較便宜,適合個人折騰,部落格建議com,me,info,pro 專家 mobi kindle電子書的格式 再不濟可以選擇tech,cc之類的,國外可以參考...

如何將網絡卡中斷繫結到特定cpu

在cpu單核的時代,網絡卡收發包處理都會有乙個cpu負責,但隨著多核cpu的出現,還按照以前網絡卡中斷有乙個cpu處理的話,明顯浪費cpu資源,基於此出現了網絡卡中斷繫結 特定cpu的技術,目的當然是為了提高cpu利用率,將網絡卡中斷均衡的分配到各個cpu.首先,簡單說一下中斷,什麼是中斷呢?就是各...

如何將 txt檔案讀入到陣列

格式是 intput.txt中的示例數字為 4 6 8 10 那麼問題來了,如何讀取這段數字,博主的思路是把這個讀入到陣列裡,然後乙個乙個調出來驗證猜想就好了,輸出到檔案也方便。但是,就是這樣乙個輸出到陣列,折騰了博主好久 博主很菜,勿噴。當用fgets 函式時,它每次只讀取乙個位元組,就是說,a ...