jessicachen12 Ответов: 1

Ошибка разъединения : в позиции [номер] нет строки]


Всем привет,

У меня есть следующая ошибка:


There is no row at position 255. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IndexOutOfRangeException: There is no row at position 255.

Source Error: 


Line 263:                    {
Line 264:
Line 265:                        dt_gridcom.Rows[s][k] = summary;
Line 266:                        if (summary.Length > 25)
Line 267:                   dt_grid.Rows[s][k] = summary.Substring(0, 25) + "...";
 

Source File: d:\Maestro\code\planning.aspx.cs    Line: 265 

Stack Trace: 


[IndexOutOfRangeException: There is no row at position 255.]
   System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex) +115
   System.Data.RBTree`1.get_Item(Int32 index) +19
   System.Data.DataRowCollection.get_Item(Int32 index) +12
   code_planning.btshow_click(Object sender, EventArgs e) in d:\Maestro\code\planning.aspx.cs:265
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +78
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +100
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2862



эта ошибка возникает из-за того, что я пытаюсь показать gridview, данные которого даны базой данных.


может ли кто-нибудь сказать, что это за ошибка? как ее решить?

большое спасибо,

jessicachen12

ошибка исходит из строки 265.

[no name]

Ошибка совершенно очевидна. Только попробуйте показать данные для строк, которые действительно существуют. В чем, по-видимому, проблема?

[no name]

убедитесь, что DataRowCollection не пуста.

sjelen

Поскольку это происходит при обратной передаче, убедитесь, что вы заполнили datatable до достижения этого кода.
Если вы не сохраняете datatable в сеансе, вам нужно будет снова заполнить его данными при обратной передаче.
Предоставьте больше кода, используя "улучшить вопрос".

1 Ответов

Рейтинг:
4

Sandeep Mewara

[IndexOutOfRangeException: в позиции 255 нет строки.]
В вашей сетке будет определенное количество строк.

Это выглядит как значение 's' это больше, чем количество строк.

dt_gridcom.Rows[s][k] = summary;

Убедитесь, что номер строки, к которой вы пытаетесь получить доступ, существует.