簡體   English   中英

從數據表填充GridView

[英]Populating a GridView from a DataTable

我是新的ASP.NET,並且從未使用過GridView或DataGrid,但是我找不到在線的有用示例來說明如何做所需的事情。 我需要在頁面上顯示一些數據,而且我知道我應該使用GridView,但是似乎什么也無法顯示。

我有以下數據集:

DataSet ds = new DataSet("MyTables");
ds.Tables.Add("Users");
ds.Tables["Users"].Columns.Add("ID");
ds.Tables["Users"].Columns.Add("Name");
ds.Tables["Users"].Columns.Add("Email");
ds.Tables["Users"].Rows.Add(0,"Ace","ace@example.com");
ds.Tables["Users"].Rows.Add(1,"Biff","biff@example.com");
ds.Tables["Users"].Rows.Add(2,"Chuck","chuck@example.com");
ds.Tables["Users"].Rows.Add(3,"Dick","dick@example.com");
myGrid.DataSource = ds.Tables["Users"].DefaultView;
myGrid.DataBind();

這是我的ASP.NET:

<asp:GridView ID="myGrid" runat="server">
</asp:GridView>

我認為您正在向錯誤的表添加列。 嘗試這樣的事情:

DataSet ds = new DataSet("MyTables");
ds.Tables.Add("Users");
DataTable userTable = ds.Tables["Users"];
userTable.Columns.Add("ID");
userTable.Columns.Add("Name");
userTable.Columns.Add("Email");
userTable.Rows.Add(0,"Ace","ace@example.com)";
userTable.Rows.Add(1,"Biff","biff@example.com)";
userTable.Rows.Add(2,"Chuck","chuck@example.com)";
userTable.Rows.Add(2,"Dick","dick@example.com)";
myGrid.DataSource = userTable;
myGrid.DataBind();

您正在引用兩個完全不同的表。 您創建表用戶,然后將列添加到名為“添加用戶”的表中,然后將行添加到“用戶”表。 綁定此內容后,將不會顯示任何內容。

更改此代碼

ds.Tables["Add Users"].Columns.Add("ID");
ds.Tables["Add Users"].Columns.Add("Name");
ds.Tables["Add Users"].Columns.Add("Email");

對此

ds.Tables["Users"].Columns.Add("ID");
ds.Tables["Users"].Columns.Add("Name");
ds.Tables["Users"].Columns.Add("Email");

我在想您正在收到對象null引用錯誤。 發生的事情是您在名為“添加用戶”的表中創建列,而沒有名為“添加用戶”的表。 如果僅更改ds.Tables [“ Add Users”]的三行,並將其更改為ds.Tables [“ Users”],則一切應該正常。

希望這對您有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM