![]() |
|
Модераторы: gambit |
![]()
|
|
| StepS |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 26.8.2005 Где: Днепропетровск Репутация: нет Всего: нет |
Привет, всем.
Есть страница:
и есть aspx:
что мне нужно указать в TypeName, чтобы грида заработала ? Страницу я создаю через Wizard. Работаю на ASP.NET 2.0, VS 2005. |
||||
|
|||||
| tol05 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Класс ObjectDataSource связывает грид с классом, который представляет источник данных и через свои методы эти самые данные и выдает.
Так что TypeName должен содержать имя этого класса, вместе с именем сборки.
где
-------------------- На хорошей работе и сны хорошие снятся. |
||||
|
|||||
| StepS |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 26.8.2005 Где: Днепропетровск Репутация: нет Всего: нет |
эээ... если я прописываю метод бизнеса, то у меня все работает. Вопрос был в том, как перенести метод (SelectMethod) из бизнеса на Web Page-у.
т.е. так все работает:
где бизнесс выглядит след образом:
|
||||
|
|||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Так зачем тебе вообще ObjectDataSource? Этот класс для использвания Object в качестве DataSource
Возьми просто динамическое связывание и примени что-то типа этого? <asp:GridView ID="grdLocation" runat="server" AutoGenerateColumns="false" DataSource="<%# MyDataSet %>" /> -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| StepS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 26.8.2005 Где: Днепропетровск Репутация: нет Всего: нет |
Если использовать DataSource вместо DataSourceID, тогда теряеться автоматические сортировка и пэйджинг у GridView :( . А они нужны по-любому и нужны через Ajax. Самому писать методы не хочеться, думаю что можно как-то все-таки указать метод/свойство страницы в качестве SelectMethod-а у ObjectDataSource.
Это сообщение отредактировал(а) StepS - 17.4.2007, 17:18 |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
StepS, Вообще-то Paging поддерживается GridView... так что ты его не потеряешь. Что касается автоматической сортировки... это ты о чем ??? Разве ObjectDataSource сам сортирует записи ??? а по какому принципу ??? Я всегда в методах ObjectDataSource'а делал сортировку через преобразование в DataView. И возвращал DataView.
Что касается темы. То TypeName это указание класса в котором находятся методы. Т.е. ты можешь спокойно написать класс твоего Page Добавлено через 1 минуту и 30 секунд Только ж не забудь сделать их статическими. -------------------- |
|||
|
||||
| StepS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 26.8.2005 Где: Днепропетровск Репутация: нет Всего: нет |
Mymik, вот что написано в MSDN-е о автоматической сортировке и пэйджинге:
*To bind to a data source control, set the DataSourceID property of the GridView control to the ID value of the data source control. The GridView control automatically binds to the specified data source control and can take advantage of the data source control's capabilities to perform sorting, updating, deleting, and paging functionality. This is the preferred method to bind to data. *To bind to a data source that implements the System.Collections.IEnumerable interface, programmatically set the DataSource property of the GridView control to the data source and then call the DataBind method. When using this method, the GridView control does not provide built-in sorting, updating, deleting, and paging functionality. You need to provide this functionality by using the appropriate event. т.е. если я использую DataSourceID и ObjectDataSource, то для сортировки и пэйджинга мне не нужно писать ни строчки кода, а так же можно включить, чтоб эти операции выполнялись через Ajax. то что в TypeName нужно указать класс в котором находиться метод это я в курсе The type specified in the TypeName property of ObjectDataSource 'datasource' could not be found. хотя сделал метод MyDataSet статическим. Т.е. грубо говоря, вопрос в следующем: в каком namespace_е находяться страницы во времы выполнения, чтобы я мог указать класс в TypeName ? Добавлено @ 11:07 To Mymik
Вот что нужно написать, чтобы сортировка и пэйджинг были автоматическими (т.е. без написания дополнительного кода): <asp:ObjectDataSource ID="datasource" runat="server" EnableCaching="true" SelectMethod="Enum" TypeName="My.Bussines.BCLocation" /> <asp:GridView ID="grdLocation" runat="server" AutoGenerateColumns="false" AllowPaging="true" AllowSorting="true" DataSourceID="datasource" PageSize="20" Width="100%" EnableSortingAndPagingCallbacks="true"> <Columns> <asp:BoundField DataField="Name" SortExpression="Name" HeaderText="Start Location / Call Points / End Location" /> <asp:ButtonField ButtonType="image" HeaderText="Action" ImageUrl="~/img/buttons/add.jpg" CommandName="add" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" /> </Columns> </asp:GridView> и все.. появляются ссылки в Header-e колонки и он их сортирует по принципу: sortexpression = "ASC + yoursortexpr" или "DESC + yoursortexpr" где yoursortexpr - это "название поля" в таблице, которую ты отображаешь. и он сортирует по этому полю. Это сообщение отредактировал(а) StepS - 18.4.2007, 11:09 |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Походу можно максимум куда засунуть, так это только лишь в App_Code -------------------- |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |