Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.04.2013, 11:55
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969, Появилась вот такая проблема:Как сделать так, что бы GridView запоминал просмотренные строки. Пришлось сделать возможность выбора вызываемой формы (окна?). Раньше форма вызывалась так: <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("код", "~/Edit.aspx?name={0}") %>' Target="_blank" Text="Подробно"></asp:HyperLink> - в этом случае просмотренная строка выделялась изменением цвета кнопки HyperLink. Сейчас пришлось сделать так: заменил HyperLink на LinkButton: <asp:LinkButton ID="ВыборСтроки" runat="server" CausesValidation="True" EnableViewState="TRUE" CommandName="Select" Text="Выбор"></asp:LinkButton> обработка нажатия кнопки "Выбор" делается так: Protected Sub GridReports_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridReports.SelectedIndexChanged Dim PageName As String Dim row As GridViewRow = GridReports.SelectedRow Dim str1 As Label = row.FindControl("label7") 'код Dim str2 As Label = row.FindControl("label8") 'crimcode Dim str3 As Label = row.FindControl("label3") 'раздел Session("sMainCode") = str1.Text If (Int(str3.Text) = 13 Or Int(str3.Text) = 14 Or Int(str3.Text) = 15) Then Session("sCrimCode") = str2.Text PageName = "OpenWindow('edit.aspx?name=" + Trim(str1.Text) + "','Edit');" ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Edit", PageName, True) ScriptManager.RegisterStartupScript(Me, Me.GetType, "EditCrim", "OpenWindow('EditCrim.aspx','EditCrim');", True) Else PageName = "OpenWindow('edit.aspx?name=" + Trim(str1.Text) + "','Edit');" ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Edit", PageName, True) End If Dim STW As LinkButton = row.FindControl("ВыборСтроки") STW.ForeColor = Drawing.Color.DarkMagenta End Sub Все работает, но ... строка, которая выбиралась не запоминается. Помогите плиз, разрешить проблему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 11:58
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969просмотренная строка выделялась изменением цвета кнопки HyperLinkа сейчас цвет чего должен измениться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 12:06
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
Да все равно чего. Хотя бы цвет кнопки "Выбрать" как было при использовании HyperLink. Главное условие, что бы при следующем просмотре таблицы было видно, какие записи просматривались, а какие нет. Насколько я понял, HyperLink работает с чем то вроде Cookies. Во всяком случае при нажатии на кнопку цвет меняется и этот цвет остается и при следующих сеансах работы. У меня заказчики занимаются просмотром отчетов, которые поступают в головной офис из регионов и им очень хочется, что бы было видно просматривали они эти отчеты или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 12:16
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969, ...ну, кроме как хранить статус строки (и логин просматривающего юзера) в БД - ничего и не получится .. даже если в куках хранить, пользователь может их почистить, зайти с другого компьютера ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 12:17
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
запоминание (и подкрашивание) посещенных ссылок - это работа браузера тут же действительно лучше средствами JS навеситься на клик по кнопке и где-то в куках этот факт запоминать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 13:26
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
Придется делать через Cookies. Но интересно, как же HyperLink работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 13:27
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
если задано то так: http://htmlbook.ru/css/visited иначе стандартно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 13:28
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969Придется делать через Cookies. Но интересно, как же HyperLink работает? Этот вариант тоже рассматривал. Он самый простой. Проблема в том, что эти отчеты прочитывают как минимум 5 человек и каждый хочет, что бы было запоминание просмотренных им строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 13:38
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969Константин1969Придется делать через Cookies. Но интересно, как же HyperLink работает? Этот вариант тоже рассматривал. Он самый простой. Проблема в том, что эти отчеты прочитывают как минимум 5 человек и каждый хочет, что бы было запоминание просмотренных им строк.Это не проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 13:39
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969Придется делать через Cookies. Но интересно, как же HyperLink работает?Как как. Переходы по ссылкам пишутся в историю браузера. А LinkButton рендерится как Код: html 1. То есть стандартное поведения гиперссылки зарубается. Надо писать свою реализацию через history, cookie или сервер, фигли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 13:42
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969Сейчас пришлось сделать так: заменил HyperLink на LinkButtonа кстати зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 13:44
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
ПаганельКонстантин1969Сейчас пришлось сделать так: заменил HyperLink на LinkButtonа кстати зачем?+1 Заменили открытие нового окна по ссылке на открытие через регистрацию скрипта на сервере: ScriptManager.RegisterStartupScript. Как-то через одно место это выглядит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 14:33
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
ПаганельКонстантин1969Сейчас пришлось сделать так: заменил HyperLink на LinkButtonа кстати зачем? В зависимости от раздела отчета открываются разные формы. Никакого варианта кроме описанного выше я не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 14:39
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
skyANAПаганельпропущено... а кстати зачем?+1 Заменили открытие нового окна по ссылке на открытие через регистрацию скрипта на сервере: ScriptManager.RegisterStartupScript. Как-то через одно место это выглядит. Может быть, но я не знаю способ прочитать строку в GridView кроме как так: Protected Sub GridReports_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridReports.SelectedIndexChanged Dim PageName As String Dim row As GridViewRow = GridReports.SelectedRow Dim str1 As Label = row.FindControl("label7") 'код Dim str2 As Label = row.FindControl("label8") 'crimcode Dim str3 As Label = row.FindControl("label3") 'раздел Session("sMainCode") = str1.Text If (Int(str3.Text) = 13 Or Int(str3.Text) = 14 Or Int(str3.Text) = 15) Then - если разделы отчета 13,14,15, то открываем форму EditCrim Session("sCrimCode") = str2.Text PageName = "OpenWindow('edit.aspx?name=" + Trim(str1.Text) + "','Edit');" ScriptManager.RegisterStartupScript(Me, Me.GetType, "EditCrim", "OpenWindow('EditCrim.aspx','EditCrim');", True) Else 'если нет, то форму Edit PageName = "OpenWindow('edit.aspx?name=" + Trim(str1.Text) + "','Edit');" ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Edit", PageName, True) End If Dim STW As LinkButton = row.FindControl("ВыборСтроки") STW.ForeColor = Drawing.Color.DarkMagenta End Sub Мне проще было бы использовать HyperLink, но с SelectedIndexChanged он не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 14:51
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969skyANAпропущено... +1 Заменили открытие нового окна по ссылке на открытие через регистрацию скрипта на сервере: ScriptManager.RegisterStartupScript. Как-то через одно место это выглядит. Может быть, но я не знаю способ прочитать строку в GridView кроме как так: Protected Sub GridReports_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridReports.SelectedIndexChanged Dim PageName As String Dim row As GridViewRow = GridReports.SelectedRow Dim str1 As Label = row.FindControl("label7") 'код Dim str2 As Label = row.FindControl("label8") 'crimcode Dim str3 As Label = row.FindControl("label3") 'раздел Session("sMainCode") = str1.Text If (Int(str3.Text) = 13 Or Int(str3.Text) = 14 Or Int(str3.Text) = 15) Then - если разделы отчета 13,14,15, то открываем форму EditCrim Session("sCrimCode") = str2.Text PageName = "OpenWindow('edit.aspx?name=" + Trim(str1.Text) + "','Edit');" ScriptManager.RegisterStartupScript(Me, Me.GetType, "EditCrim", "OpenWindow('EditCrim.aspx','EditCrim');", True) Else 'если нет, то форму Edit PageName = "OpenWindow('edit.aspx?name=" + Trim(str1.Text) + "','Edit');" ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Edit", PageName, True) End If Dim STW As LinkButton = row.FindControl("ВыборСтроки") STW.ForeColor = Drawing.Color.DarkMagenta End Sub Мне проще было бы использовать HyperLink, но с SelectedIndexChanged он не работает.Не проще ли формировать нужные ссылки до отображения грида, а не при наступлении события GridReports_SelectedIndexChanged? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 14:53
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969, Вам событие GridView.RowDataBound не знакомо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 14:55
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
Может циклом по гриду пробежаться, при совпадении условий красить, ну или там жирным выделать Код: c# 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 15:25
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
skyANAКонстантин1969, Вам событие GridView.RowDataBound не знакомо? Попробую сделать так. Должно получиться. Спасибо за подсказку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 16:09
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
skyANAКонстантин1969, Вам событие GridView.RowDataBound не знакомо? Не получилось: e.row.cells(n).NavigeteUrl - не понимает. Можно e.Cells(n).Text ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 16:21
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
FindControl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 16:41
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969skyANAКонстантин1969, Вам событие GridView.RowDataBound не знакомо? Не получилось: e.row.cells(n).NavigeteUrl - не понимает. Можно e.Cells(n).TextХм. Как же Вы дошли до сл. кода: Код: vbnet 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2013, 21:45
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
skyANAКонстантин1969пропущено... Не получилось: e.row.cells(n).NavigeteUrl - не понимает. Можно e.Cells(n).TextХм. Как же Вы дошли до сл. кода: Код: vbnet 1. ? Так пробовал первым делом. Результат тот же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2013, 07:51
|
|||
|---|---|---|---|
Запоминание просмотренных строк в GridView |
|||
|
#18+
Константин1969skyANAпропущено... Хм. Как же Вы дошли до сл. кода: Код: vbnet 1. ? Так пробовал первым делом. Результат тот же.Я не телепат, покажите код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2013, 11:33
|
|||
|---|---|---|---|
|
|||
Запоминание просмотренных строк в GridView |
|||
|
#18+
Получилось наконец-то. Всем спасибо за помощь! Вот фрагмент: Protected Sub GridReports_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GridReports.RowDataBound Try Dim row As GridViewRow = GridReports.SelectedRow If e.Row.RowType = DataControlRowType.DataRow Then Dim Раздел As Label = CType(e.Row.FindControl("Label3"), Label) Dim Кнопка As HyperLink = CType(e.Row.FindControl("HyperLink1"), HyperLink) Dim Код As Label = CType(e.Row.FindControl("Label7"), Label) Dim CrimCode As Label = CType(e.Row.FindControl("Label8"), Label) 'сделать вторую кнопку HyperLink и в зависимости от раздела кнопки выключать If Раздел.Text = "13" Then Кнопка.NavigateUrl = String.Format("~/EditCrim.aspx?name={0}", CrimCode.Text) Else Кнопка.NavigateUrl = String.Format("~/Edit.aspx?name={0}", Код.Text) End If End If Catch ex As System.IO.IOException ' Code that reacts to IOException. Catch ex As InvalidCastException Catch ex As NullReferenceException Catch ex As Exception End Try End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&mobile=1&tid=1358581]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
88ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 450ms |

| 0 / 0 |
