14 / 14 / 8
Регистрация: 09.10.2014
Сообщений: 71

Ускорение работы GridView

10.03.2016, 11:10. Показов 2169. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Да, мне действительно нужно выводить на страницу несколько тысяч строк, так как если включить Paging "быстрый поиск" перестанет работать.
Сам SELECT из MsSQL выполняется меньше чем за секунду.
100 строк в GridView отрисовываются довольно быстро, на 200 тоже жаловаться нет смысла... проблемы начинаются когда их становится около 1000.

Максимально уменьшаю список деталей путем выбора Заказа, Наряда и Участка и запускаю формирование (SELECT).







HTML5
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
<asp:GridView ID="GridView2" AutoGenerateColumns="false" runat="server" ShowHeader="false"  OnRowCreated="GridView2_RowCreated" OnRowDataBound="OnRowDataBound2" OnRowDeleting="GridView2_RowDeleting" >
        <Columns> 
 
            <asp:BoundField DataField="Заказ" HeaderText="Заказ" ItemStyle-BackColor="WhiteSmoke" ItemStyle-Width="75px" />
            <asp:BoundField DataField="Наряд" HeaderText="Наряд"  ItemStyle-BackColor="WhiteSmoke" ItemStyle-Width="75px"/>
            <asp:BoundField DataField="Обозначение" HeaderText="Обозначение" ItemStyle-BackColor="WhiteSmoke" ItemStyle-Width="200px"/>
            <asp:BoundField DataField="Наименование" HeaderText="Наименование"  ItemStyle-BackColor="WhiteSmoke" ItemStyle-Width="400px"/>
            <asp:BoundField DataField="Всего" HeaderText="По плану" ItemStyle-HorizontalAlign="Center" ItemStyle-BackColor="WhiteSmoke" ItemStyle-Width="100px"/>
            <asp:BoundField DataField="Осталось" HeaderText="Осталось" ItemStyle-HorizontalAlign="Center" ItemStyle-BackColor="WhiteSmoke" ItemStyle-Width="100px"/>
 
 
 
 
            <asp:TemplateField HeaderText="Кол-во" >
                    <ItemTemplate>
                        <asp:TextBox ID="Количество" runat="server" placeholder="0" Text='<%#Bind("Количество") %>'  onblur="setvalue(this)" CssClass="mGridText" AutoCompleteType="Disabled" Width="100px" ></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
 
                <asp:TemplateField HeaderText="Номер чека">
                    <ItemTemplate>
                        <asp:TextBox ID="Номер_чека" runat="server" Text='<%#Bind("Номер_чека") %>'  onblur="setvalue(this)" CssClass="mGridText" AutoCompleteType="Disabled" Width="100px" ></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
 
           <asp:BoundField DataField="Дата" HeaderText="Дата сводки ОТК" ItemStyle-HorizontalAlign="Center" ItemStyle-BackColor="WhiteSmoke" DataFormatString="{0:d}" ItemStyle-Width="150px"/>
 
 
            
        </Columns>
 
 
    </asp:GridView>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.03.2016, 11:10
Ответы с готовыми решениями:

Ускорение работы программы
Добрый день. мне необходима помощь в пересмотре кода. Требуется ускорение обработки данных архив. Рассматриваю любые предложения. ...

Ускорение работы компьютера, а так же работы Интернета (u22)
Когда допустим, включаю компьютер, у меня очень долго стоит заставка &quot;Добро пожаловать&quot; а так же компьютер мой, очень долго приходит в...

Ускорение работы компьютера, а так же работы Интернета
Как ускорить работы компьютера, и чтобы ПРИСУТСТВОВАЛА БЕЗОПАСНОСТЬ моего компьютера? моих данных. Отключил службы: Центр...

21
326 / 159 / 45
Регистрация: 06.12.2012
Сообщений: 305
15.03.2016, 08:36
Студворк — интернет-сервис помощи студентам
Что бы не плодить, да и просто не переписывать код, вот тут пример.
Еще раз скажу без paging, далеко не уедите, так что есть два варианта, то что я вам показал выше через updatepanell или тот что посылки.
Там логика довольна проста при нажатии кнопки (ввода текста) функция jQuery дергает web метод который перерисовывает ваш gridview, в зависимости от вашего размера (pagesize, pageIndex, и собственно вашего поиска). В общем вам выбирать, из двух примеров.
Правда оговорюсь, что я показал простой пример, у меня так же надо подправить запрос к БД (на подобии как в примере по ссылке), убрать (перенести) tb_search во внутрь listview(gridview), и за этого надо будет ему (tb_search) передать в JS его id (потому что он будет уже сложный, или юзануть слегка jQuery) . В общем дерзайте, юзайте, разбирайтесь.
0
14 / 14 / 8
Регистрация: 09.10.2014
Сообщений: 71
16.03.2016, 10:20  [ТС]
Цитата Сообщение от skynick99 Посмотреть сообщение
Что бы не плодить, да и просто не переписывать код, вот тут пример.
Еще раз скажу без paging, далеко не уедите, так что есть два варианта, то что я вам показал выше через updatepanell или тот что посылки.
Там логика довольна проста при нажатии кнопки (ввода текста) функция jQuery дергает web метод который перерисовывает ваш gridview, в зависимости от вашего размера (pagesize, pageIndex, и собственно вашего поиска). В общем вам выбирать, из двух примеров.
Правда оговорюсь, что я показал простой пример, у меня так же надо подправить запрос к БД (на подобии как в примере по ссылке), убрать (перенести) tb_search во внутрь listview(gridview), и за этого надо будет ему (tb_search) передать в JS его id (потому что он будет уже сложный, или юзануть слегка jQuery) . В общем дерзайте, юзайте, разбирайтесь.
Ещё раз большое спасибо за хороший пример с UpdatePanel, если еще раз поднадобится, то обязательно вернусь к этой теме. Я одновременно начал переписывать проект под UpdatePanel и продолжал дальше искать проблему со старым кодом. И когда я уже окончательно отчаялся удалось найти проблему, переписал под чистую весь поиск. Видео прилагается:
https://www.youtube.com/watch?v=d0-M6JNH2-c

Этой функцией, я заменил кусок jQuery кода для поиска
JavaScript
1
2
3
4
5
6
7
8
9
function Filter(obozn) {
                var tblData = document.getElementById("<%= GridView2.ClientID %>");
                for (var i = 0; i < tblData.rows.length; i++) {
                    if (tblData.rows[i].cells[2].innerHTML.toLowerCase().indexOf(obozn) == -1)
                        tblData.rows[i].style.display = 'none';
                    else
                        tblData.rows[i].style.display = '';
                }
            }
Спасибо всем за активное участие, cyberforum даёт хорошую мотивацию!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2016, 10:20

Скорость, касательное ускорение, полное ускорение, нормальное ускорение и радиус кривизны траектории
Движение точки задано координатным способом. Найти траекторию и начертить ее. Кроме того определить скорость, касательное ускорение, полное...

Ускорение работы БД
Уважаемые знатоки! Помогите с такой проблемой: есть БД, построенная по принципу &quot;Список&quot; - &quot;Карточка&quot;, пока в ней...

Ускорение работы AS
Не устраивает скорость работы AS. Можно ли как-нибудь оптимизировать? Например, при установке VM, когда система и VM на разных физических...

Ускорение работы программы
доброго времени суток. Возникла следующая проблема: using System; using System.Collections.Generic; using System.Diagnostics; ...

Ускорение работы программы
import time t1 = time.clock() mas = mas1 = mas2 = with open('input.txt', 'r') as inp: n = int(inp.readline().strip()) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru