SubSonic 2.2 和 ASP.NET gridview

发布于 2024-09-15 11:56:48 字数 489 浏览 6 评论 0原文

我试图在我的 gridview 中显示一个自定义列,它显示基于数据库中几个布尔字段的内容类型。一切工作正常,但它导致了很多开销,我现在这样做......就像这样:

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

这调用了一个函数 GetType,它根据 ArticleID 查询数据库。当然,网格视图中的每个项目都会发生这种情况。现在我想知道是否可以将当前(亚音速)收藏项发送到此函数?因为该项目已经可用,但我不知道如何将其放入我的项目模板中。

我当前的项目是 DAL.Article,其中包含我需要的一切。

我希望我能说清楚一点!谢谢您的宝贵时间。

亲切的问候, 标记

I'm trying to show a custom column in my gridview which displays a content type based on a couple of boolean fields in my database. Everything works fine but it's causing a lot of overhead the way I do it now.. like this:

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

This calls a function GetType which queries the database based on the ArticleID. Of course this happens for every item in the gridview. Now I would like to know if it's possible to send the current (subsonic) collection item to this function instead? Because the item is already available but I don't know how to put this in my itemtemplate.

My current item is DAL.Article which contains everything I need.

I hope I made myself clear a little !Thanks for your time.

Kind regards,
Mark

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明天过后 2024-09-22 11:56:48

亚音速生成的类是部分的,因此是可扩展的。
假设您有一个名为 Person 的 DAL 对象。您可以创建一个新文件 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);

我经常使用这种技术将 Subsonic Collections 绑定到 Windows.Forms DataGridView。
但它也应该适用于 asp.net。

Subsonic generated classes are partial and thus extendable.
Let's say you have a DAL object called Person. You can create a new file Person.cs (in a different folder of course).

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

Now you can access the DisplayName property of your class:

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

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

I use this technique for binding Subsonic Collections to a Windows.Forms DataGridView a lot.
But it should work for asp.net, too.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文