看板 C_Sharp 關於我們 聯絡資訊
※ 引述《dodoamuro (嘟嘟)》之銘言: : ※ 引述《dodoamuro (嘟嘟)》之銘言: : : 最近碰到了一個問題, : : 第一步是自訂一個class,我假設他為Employee好了, : : 然後裡面包含了姓名、薪水, : : 之後我建立了一個Employee John = new Employee("John Lee",1234); : : 而接下來想要用GridView將他展示出來, : : 其中的DataSource卻不知道該怎麼辦, : : 而上網查了很多資料,發現GridView通常是用來抓資料庫裡的資料, : : 所以如果我要將她展示出我自己自訂的class,自己塞的資料進去是錯誤的嗎~"~? : 我剛剛用ArrayList及List的方法用看看,程式碼如下: : ArrayList myAL = new ArrayList(); : myAL.Add(new Employee("Johnny Lee",50000)); : myAL.Add(new Employee("Alex Lin", 10000)); : ListBox1.DataSource = myAL; : ListBox1.DataBind(); : 結果印出來的卻是兩行WebApplication1.Employee,而不是我輸入的Johnny Lee等資料, : 而如果使用 : GridView1.DataSource = myAL; : GridView1.DataBind(); : 則會出現以下的錯誤: : ID 為 'GridView1' 的 GridView 的資料來源沒有任何可以產生資料行的屬性 : (Property) 或屬性 (Attribute)。請確認資料來源具有內容。 : 感覺應該已經快可以了,但不知道為什麼還是有錯, : 是值沒有進到array裡的關係嘛~"~ : 在這邊請教各位了ˊˋ 最後寫出來了,分享給大家一下, 就如同板友說的用ArrayList或List所產生的問題, 是沒有將欄位定義,以及要使用GET及SET才會將資料寫入,所以加上 <asp:Label ID="Label1" runat="server" Text='<%#Eval("Name") %>'></asp:Label> 將欄位定義好,並使用get,set以後就可以了。 其中也跟好心的板友討論了一下,小弟才知道, 原來GridView的DataSource,不是只能吃表格, 而是只要有IList介面的都可以吃,真是學到了一課, 之後一定要好好再把打NET練熟,也請各位多多指教! 大家一起加油!!! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.210.89