powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема со вставкой значений в GridView
12 сообщений из 12, страница 1 из 1
Проблема со вставкой значений в GridView
    #37444278
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Возникла проблема при динамическом заполнении GridView.
Вот такой вариант не хочет работать :
Код: plaintext
1.
GridView1.Rows[0].Cells[0].Text = "hello";
Выдаёт следующую ошибку :
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Почему?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
        GridLines="None">
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <Columns>
            <asp:BoundField HeaderText=":" />
        </Columns>
        <EditRowStyle BackColor="#999999" />
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#E9E7E2" />
        <SortedAscendingHeaderStyle BackColor="#506C8C" />
        <SortedDescendingCellStyle BackColor="#FFFDF8" />
        <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
    </asp:GridView>
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37444418
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное потому что там ещё нет такой ячейки.
А вообще хотелось бы увидеть код и ошибку.
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37444993
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот код :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public partial class Models_Brand : System.Web.UI.Page
    {
        public string brand;
        public string startBrand;
        List<CarDetails> ListModelsStart;
        List<CarDetails> AllBrands;
        

        protected void Page_Load(object sender, EventArgs e)
        {
            CarDB carDb = new CarDB();
            ListModelsStart = carDb.GetModelsStart();
            this.AddModelsGrid(ListModelsStart);            
        }        

        private void AddModelsGrid(List<CarDetails> ListModelsStart)
        {
            for (int i = 0; i < ListModelsStart.Count; ++i)
                this.GridView1.Rows[i].Cells[1].Text = "h";//Convert.ToString(ListModelsStart[i]);            
        }
    }
aspx :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
            SelectMethod="GetAllBrands" TypeName="Catalog.CarDB">
        </asp:ObjectDataSource>
    </p>


    <br />
    <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
        GridLines="None">
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <Columns>
            <asp:BoundField HeaderText="Model :" />
        </Columns>
        <EditRowStyle BackColor="#999999" />
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#E9E7E2" />
        <SortedAscendingHeaderStyle BackColor="#506C8C" />
        <SortedDescendingCellStyle BackColor="#FFFDF8" />
        <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
    </asp:GridView>

Ошибка :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Ошибка сервера в приложении '/'.
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index

Ошибка источника:

Строка 35:         {
Строка 36:             for (int i = 0; i < ListModelsStart.Count; ++i)
Строка 37:                 this.GridView1.Rows[i].Cells[1].Text = "h";//Convert.ToString(ListModelsStart[i]);            
Строка 38:         }
Строка 39:     }


Исходный файл: G:\Catalog\Models_Brand.aspx.cs    Строка: 37

Трассировка стека:

[ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index]
   System.Collections.ArrayList.get_Item(Int32 index) +9373696
   System.Web.UI.WebControls.GridViewRowCollection.get_Item(Int32 index) +16
   AutoCatalog.Models_Brand.AddModelsGrid(List`1 ListModelsStart) in G:\ASP_Project\AutoCatalog3\AutoCatalog\Models_Brand.aspx.cs:37
   AutoCatalog.Models_Brand.Page_Load(Object sender, EventArgs e) in G:\ASP_Project\AutoCatalog3\AutoCatalog\Models_Brand.aspx.cs:22
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37445944
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема ещё актуальна
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37445962
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставьте брякпоинт на строкеerman
Код: plaintext
1.
                this.GridView1.Rows[i].Cells[1].Text = "h";//Convert.ToString(ListModelsStart[i]);            
и посмотрите под дебагом - где именно "Индекс за пределами диапазона"
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37446005
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данные не привязаны - ячейкам и строкам браться неоткуда
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37446921
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erman , Вы пытаетесь записать текст в несуществующую ячейку.
Напишите зачем вам именно так туда данные нужно записать, опишите полностью задачу, возможно вы что то не так делаете.
Позже выложу код как "затолкать" данные в GridView
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37447007
Centraloff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
erman,

Возьми почитай книжку или примеры в интернете. Укажи источник данных для GridView зачем ты изобреаешь велосипед, все придумано до тебя. Указываешь источник данных ObjectDataSource1 для GridView1 и GridView наполняется сам. Все намного проще чем ты думаешь.
GridView конечно можно наполнить и динамически, но совсем не так как делаешь это ты.
Тут хотя бы чтоли посмотри http://www.ishodniki.ru/art/artshow.php?id=564
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37448099
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Centraloff,

Ситуация такова :
На странице есть DropDownList, привязан к ObjectDataSource. При выборе значения в DropDownList должен заполняться GridView соответствующими значениями из БД.
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37448111
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erman,

значит добавляете источник данных для gridview, objectdatasource, sqldatasource, чего вам подходит.
и ему как select параметр указываете dropdownlist - selectedvalue
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37453066
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erman , если ещё не разобрался, пример как заполнить GridView, при выборе чего то в DropDownList
(может чем поможет, но всё делается очень просто)
[SRC HTML C#]
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource1"
DataTextField="CategoryText" DataValueField="CategoryID">
</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Test %>"
SelectCommand="SELECT [CategoryID], [CategoryText] FROM [Category] WHERE ([ParentCategoryID] = @ParentCategoryID)">
<SelectParameters>
<asp:Parameter DefaultValue="0" Name="ParentCategoryID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
DataSourceID="SqlDataSource2">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField="Category" HeaderText="Category" SortExpression="Category" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" />
</Columns>
</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:Test %>"
SelectCommand="SELECT [ID], [Category], [ContactName] FROM [MediaBase] WHERE ([Category] = @Category)">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" DefaultValue="-1" Name="Category"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>

</form>

[/SRC]
...
Рейтинг: 0 / 0
Проблема со вставкой значений в GridView
    #37454946
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема со вставкой значений в GridView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]