Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Редактирование и сокрытие колонок в GridView / 23 сообщений из 23, страница 1 из 1
29.05.2012, 16:16
    #37816611
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Доброго времени суток всем!
На странице лежит GridView, которму присваивается DataSource из DataTable. Все отображается, все хорошо.
Но теперь мне надо часть колонок скрыть, а часть - сделать редактируемыми. Как придумал сделать редактируемые колонки: конкретно их создаю вручную в виде TemplateField'ов, на которых лежит TextBox и больше ничего, а остальные колонки берутся через DataSource из DataTable - в результате нужные мне колонки можно править, остальные - нет. Все бы ничего, но теперь возникли следующие проблемы:
1) добавленные вручную колонки стоят на первом месте - их можно как-то сдвинуть?
2) добавленные вручную столбцы должны редактироваться только при определенном условии - пробовал подписываться на RowEditing и на лету смотреть, что редактируется, и отменять, если надо, но в моем случае это событие даже не происходит - как быть?
3) и, наконец, некоторые колонки надо спрятать - как это можно сделать?
...
Рейтинг: 0 / 0
29.05.2012, 16:24
    #37816634
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88,
Невидимость так , первые 2 пункта не осилил ....
Код: css
1.
2.
3.
4.
.hidden
{
	display: none;
}



Код: html
1.
2.
3.
4.
5.
6.
<asp:BoundField DataField="FunctionName" HeaderText="FunctionName" ReadOnly="True" SortExpression="FunctionName">
                <ControlStyle CssClass="hidden" />
                <FooterStyle CssClass="hidden" />
                <HeaderStyle CssClass="hidden" />
                <ItemStyle CssClass="hidden" />
            </asp:BoundField>
...
Рейтинг: 0 / 0
29.05.2012, 16:34
    #37816665
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Andrey1306, спасибо, но это не совсем то... Мне это нужно делать из кода, а не в разметке, т.к. сами колонки появляются только после присвоения DataSource'у каких-то данных.
Хотяяя, конечно, можно забить на датасорс, а нафигачить нужное кол-во колонок вручную и в нужном порядке, и данные сливать тоже вручную - это решит 1 и 3 вопросы. Но хотелось бы все же другое решение.
И еще раз спасибо за отклик! )
...
Рейтинг: 0 / 0
29.05.2012, 17:56
    #37816851
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88,

А что из кода так не выходит ?

Код: c#
1.
 Grid.Columns[1].Visible = false;



вдруг пригодится
...
Рейтинг: 0 / 0
30.05.2012, 11:10
    #37817611
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Andrey1306,

неа, ошибок не выдает, но и толку никакого (
...
Рейтинг: 0 / 0
30.05.2012, 12:00
    #37817698
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
а данные биндятся до того как вы с видимостью колонок играетесь?
...
Рейтинг: 0 / 0
30.05.2012, 16:05
    #37818225
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Zoria,
Сначала данные биндятся, затем уже пытаюсь спрятать колонку.
До биндинга, я так понимаю, прятать еще нечего, т.к. колонки не созданы еще.

И, кстати, попутный вопрос: как-то можно DataSource'у объяснить, што нужные колонки уже есть и новых создавать совсем не надо, а надо воспользоваться существующими? ))
...
Рейтинг: 0 / 0
30.05.2012, 16:09
    #37818232
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Или по-другому: можно ли без DataSource'а добавить в таблицу строки?
...
Рейтинг: 0 / 0
30.05.2012, 16:12
    #37818238
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88Или по-другому: можно ли без DataSource'а добавить в таблицу строки?
http://msdn.microsoft.com/ru-ru/library/system.data.datatable.rows
...
Рейтинг: 0 / 0
30.05.2012, 16:19
    #37818253
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
SanSYS,

имелся в виду GridView
...
Рейтинг: 0 / 0
30.05.2012, 16:22
    #37818258
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88SanSYS,

имелся в виду GridView
Руки есть?
...
Рейтинг: 0 / 0
30.05.2012, 16:23
    #37818266
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88,

Или ты считаешь что данная тема настолько уникальна и с ней никто не сталкивался, что стоит подобные вопросы озвучивать на форумах?
...
Рейтинг: 0 / 0
30.05.2012, 17:02
    #37818357
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Модератор: Удалено
...
Рейтинг: 0 / 0
30.05.2012, 21:34
    #37818678
Silence1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88Andrey1306,

неа, ошибок не выдает, но и толку никакого (

Код: vbnet
1.
2.
3.
Protected Sub GridView1_PreRender
          GridView1.Columns(1).Visible = False                
End Sub
...
Рейтинг: 0 / 0
30.05.2012, 22:43
    #37818699
libru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
пачиму ево не зобанели?
Модератор: Недосмотрел потомучто. Кстати, просьба не коверкать
...
Рейтинг: 0 / 0
31.05.2012, 07:53
    #37818892
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
1. Убрать автогенерацию;
2. Самостоятельно в разметке указать нужные колонки, их тип, порядок, формат и т.п.

Что за танцы?
...
Рейтинг: 0 / 0
31.05.2012, 09:22
    #37818969
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
skyANA1. Убрать автогенерацию;
2. Самостоятельно в разметке указать нужные колонки, их тип, порядок, формат и т.п.

Что за танцы?
Убрал автогенерацию, добавил нужные колонки в нужном порядке. Теперь как в грид запихнуть данные? Если через ДатаСорс, то ничего не происходит - такое впечатление складывается, што ДатаСорс вообще работает только при включенной автогенерации колонок. Ему (ДатаСорсу) можно как-то объяснить, што колонки есть и нужно использовать именно их? Или в обход ДатаСорса как-то можно залить данные?


Silence1
Код: vbnet
1.
2.
3.
Protected Sub GridView1_PreRender
          GridView1.Columns(1).Visible = False                
End Sub


Спасибо, это вроде оно! ) Только вот такое ощущение, што в случае, если на формирование содержимого таблицы уходит значительное время, то код фэйлится - колонок не находит. Но это я еще почитаю очередность возникновения событий, спасибо еще раз!


libruпачиму ево не зобанели?
Можт просто не флудит? )
...
Рейтинг: 0 / 0
31.05.2012, 11:13
    #37819168
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88Убрал автогенерацию, добавил нужные колонки в нужном порядке. Теперь как в грид запихнуть данные? Если через ДатаСорс, то ничего не происходит - такое впечатление складывается, што ДатаСорс вообще работает только при включенной автогенерации колонок. Ему (ДатаСорсу) можно как-то объяснить, што колонки есть и нужно использовать именно их? Или в обход ДатаСорса как-то можно залить данные?Ничего датасорсу не надо объяснять :) Код в студию!
...
Рейтинг: 0 / 0
31.05.2012, 11:38
    #37819236
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
skyANA,

Да, был неправ )
У колонок в разметке нужно выставить DataField - теперь их воспринимает ДатаСорс.
Спасибо!
...
Рейтинг: 0 / 0
31.05.2012, 17:07
    #37820059
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Но, естественно, на этом все не закончилось )
Итого.
Среди полей у меня имеются BoundField'ы и TemplateField'ы. Первые принимают данные из DataSource и успешно отображают их. TemplateField'ы же представляют из себя просто текстовое поле в ItemTemplate - таким образом они доступны для редактирования. Но если я теперь программно обращусь к ячейке из такого шаблонного поля (типа, GridView1.Rows[0].Cells[0]) и запихну в эту ячейку какой-либо текст, то этот текст появится в таблице, но ячейка перестанет быть редактируемой . И, собственно, событие редактирования отловить не могу .
Кто-нибудь может объяснить, что именно происходит в приведенном мной примере и что сделать, чтобы избежать этих проблем?
...
Рейтинг: 0 / 0
31.05.2012, 17:57
    #37820216
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88,

пример

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
....
   <asp:TemplateField HeaderText="CriteriaName" SortExpression="CriteriaName">
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Width="100%" Height="100%" Text='<%# Bind("CriteriaName") %>'></asp:Label>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="TxtBoxCriteriaName" runat="server" Rows="12" Width="100%" Height="100%" Text='<%# Bind("CriteriaName")%>' TextMode="MultiLine" ></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidatorCriteriaName" runat="server" ControlToValidate="TxtBoxCriteriaName" ErrorMessage="*"></asp:RequiredFieldValidator>
                </EditItemTemplate>
                <ItemStyle Width="10%" HorizontalAlign="Left" VerticalAlign="Top" />
                
            </asp:TemplateField>
...
Рейтинг: 0 / 0
02.06.2012, 13:06
    #37822483
Unknown88
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Andrey1306,

но это, я так понимаю, работает для случая, когда в таблице есть кнопочка "Edit", по нажатию на которою вся строка переходит в режим редактирования?
Мне же не нужна кнопочка, мне нужно, чтобы несколько полей в нескольких (или пусть даже во всех) строках были всегда доступны для редактирования. Для этого я поместил в <ItemTemplate> одного шаблонного поля текстовое поле. Но теперь я не могу считать введенное значение - не пойму, как достучаться до этого текстового поля.
...
Рейтинг: 0 / 0
04.06.2012, 11:52
    #37823936
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Редактирование и сокрытие колонок в GridView
Unknown88,

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


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