SubSonic 2.2 и ASP.NET gridview - PullRequest
       6

SubSonic 2.2 и ASP.NET gridview

0 голосов
/ 18 августа 2010

Я пытаюсь показать пользовательский столбец в моем сеточном представлении, который отображает тип содержимого на основе пары логических полей в моей базе данных.Все работает нормально, но это вызывает много накладных расходов, как я это делаю сейчас ... вот так:

<ItemTemplate>
   <asp:Label ID="lblType" runat="server" Text='<%# GetType((int)DataBinder.Eval(Container.DataItem))%>' />
</ItemTemplate>

Это вызывает функцию GetType, которая запрашивает базу данных на основе ArticleID.Конечно, это происходит для каждого элемента в сетке.Теперь я хотел бы знать, можно ли вместо этого отправить в эту функцию текущий (дозвуковой) элемент коллекции?Потому что предмет уже доступен, но я не знаю, как поместить это в мою табличку с предметами.

Мой текущий предмет - DAL.Article, который содержит все, что мне нужно.проясните немного! Спасибо за ваше время.

С уважением, Марк

1 Ответ

0 голосов
/ 18 августа 2010

Звуковые сгенерированные классы являются частичными и, следовательно, расширяемыми.Допустим, у вас есть объект DAL с именем Person.Вы можете создать новый файл Person.cs (конечно, в другой папке).

namespace Your.Dal.Namespace {
    public partial class Person
    {
        public string DisplayName
        {
            get
            {
                return String.Format("{0}, {1}", this.LastName, this.FirstName);
            }
        }
    }
}

Теперь вы можете получить доступ к свойству DisplayName вашего класса:

PersonCollection col = new PersonCollection().Load();

foreach(Person p in col)
    Console.WriteLine(p.DisplayName);

Я использую этоТехника для привязки дозвуковых коллекций к Windows.Forms DataGridView много.Но это должно работать и для asp.net.

...