从DataTable填充GridView

时间:2009-10-26 15:04:10

标签: c# asp.net

我是新的ASP.NET,我从未使用过GridView或DataGrid,但我无法在线找到有关如何做我需要的有用示例。我需要在页面上显示一些数据,我知道我应该使用GridView,但我似乎无法显示任何内容。

我有以下DataSet:

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();

Heres是我的ASP.NET:

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

3 个答案:

答案 0 :(得分:3)

我认为你要将列添加到错误的表中。尝试这样的事情:

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();

答案 1 :(得分:0)

您正在引用两个完全不同的表。您创建表USERS然后将列添加到名为ADD USERS的表,然后将行添加到Users表。当你绑定它时,什么都不会出现。

更改此代码

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");

答案 2 :(得分:0)

我在想你得到一个对象null引用错误。发生的事情是你在名为“添加用户”的表中创建列,其中没有名为“添加用户”的表。如果你只是更改你拥有的三行ds.Tables [“添加用户”]并将其改为ds.Tables [“用户”]一切都应该没问题。

希望这适合你。