Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ObjectDataSource 
:(
    Опции темы
Alfmaster
Дата 29.12.2008, 03:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Есть следующие 2 класса
Код

public class Department {
    public int ID ;
    public string Picture ;
    public string Name ;
    public string Description ;
    public int TopicsNum;


    

    public Department() { }
    public Department(int id, string picture, string name, string description, int topicsnum)
    {
        ID = id;
        Picture = picture;
        Name = name;
        Description = description;
        TopicsNum = topicsnum;
    }
    

    
}

Код

public class DepData
    {
        public DepData() { }
        public Department[] GetDepartments()
        {
            SqlCommand com = new SqlCommand("SelectAllDeps");
            com.CommandType = CommandType.StoredProcedure;
            DataSet ds = DataLayer.GetData(com);
            Department[] dl = new Department[ds.Tables[0].Rows.Count];
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                dl[i]=(new Department((int)ds.Tables[0].Rows[i][0],
                                        (string)ds.Tables[0].Rows[i][1],
                                        (string)ds.Tables[0].Rows[i][2],
                                        (string)ds.Tables[0].Rows[i][3],
                                        (int)ds.Tables[0].Rows[i][4]));
            }
            return dl;

        }
    }


Код



Привязку осуществляю следующим образом

<asp:ObjectDataSource ID="DepObj" runat="server" TypeName="DepData" SelectMethod="GetDepartments"></asp:ObjectDataSource>
        <asp:GridView ID="GridView1" DataSourceID="DepObj" runat="server">
        </asp:GridView>

Но при загрузке выпадает такая ошибка

Источник данных для GridView с идентификатором 'GridView1' не имеет свойств или атрибутов для создания столбцов.  Убедитесь в наличии содержимого в источнике данных.

В чем проблема?
PM MAIL   Вверх
1stain
Дата 29.12.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 11
Всего: 40



переделай паблик поля класса в свойства:
Код

public class Department {
    public int ID {get;set;}
    public string Picture {get;set;}
    public string Name {get;set;}
    public string Description {get;set;}
    public int TopicsNum {get;set;}

    //.....


кстати, метод GetDepartments() на мой взгляд написан не лучшим образом - вместо того, чтобы создавать лишний датасет, лучше использовать датаридер

Это сообщение отредактировал(а) 1stain - 29.12.2008, 12:13


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
Alfmaster
Дата 30.12.2008, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Спасибо. Особенное спасибо за дельный совет!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.