2012-06-29 175 views
0

我有我的<asp:GridView ID="gridView" runat="server">我绑定这样的:的GridView中删除一行

 myConnection.Open(); 
     SqlCommand myCommand = myConnection.CreateCommand(); 
     myCommand.CommandType = CommandType.StoredProcedure; 
     myCommand.CommandText = "sp_SelectWeek"; 

     myCommand.Parameters.AddWithValue("@Division", Convert.ToInt32(e.PostBackValue)); 
     SqlDataReader myReader = myCommand.ExecuteReader(); 
     myReader.Read(); 

     gridView.DataSource = myReader; 
     gridView.DataBind(); 

     myReader.Close(); 
     myConnection.Close();` 

但是当我运行它,它起飞一个rowfrom查询。我很确定这是因为我试着用表格和所有那里的行。我来自同一个查询生成图表,你清楚地看到,我有一个行丢失:

enter image description here

我在做什么错?

回答

1

你打电话

myReader.Read(); 

你通过该阅读器用作数据源之前。所以你有效地移动了记录指针。从而失去你的一排。只是不要打电话给你,你应该很好。

+0

我只是不打电话吗? 或者我之后称之为? – phadaphunk

+0

你根本就不打电话。当你调用数据绑定时,数据绑定方法会为你做所有的读取。您只需调用Read即可获取阅读器中的下一行。 – aquinas

+0

我试过了,它完美地工作! 10个互联网给你,先生! :-) – phadaphunk