在 Asp Datagrid 中查看图片的 Itemtemplate(代码)

发布于 2024-08-09 19:50:14 字数 484 浏览 7 评论 0原文

我正在为共享点编写一个 Web 部件,因此我必须生成一个有问题的数据网格。

情况是我得到一个数据视图,生成网格并绑定数据。 一列应显示图像,因此我必须使用项目模板生成一个模板列。

所以代码如下所示:

//Instantiate the DataGrid, and set the DataSource
_grdResults = new DataGrid();
_grdResults.AutoGenerateColumns = false;
_grdResults.DataSource = view;
TemplateColumn colPic = new TemplateColumn();
colPic.HeaderText = "Image";

我找到了几十个用于创建项目模板的 asp 示例,但是如何在代码中构造一个示例并将其 ImageUrl 绑定到 Dataview 的“imgURL”?

感谢任何建议

I´m writing on a webpart for sharepoint, so I have to generate a Datagrid problematically.

The Situation is that I get a Dataview, generate the Gris and bind the Data.
One column should show a Image, so I have to generate a template column with item template.

So code looks like this:

//Instantiate the DataGrid, and set the DataSource
_grdResults = new DataGrid();
_grdResults.AutoGenerateColumns = false;
_grdResults.DataSource = view;
TemplateColumn colPic = new TemplateColumn();
colPic.HeaderText = "Image";

I found dozens of example for asp to create the item-template, but how construct one in code and bind it´s ImageUrl to "imgURL" of the Dataview?

thanks for any advice

Ren

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

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

发布评论

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

评论(1

墨离汐 2024-08-16 19:50:14

您需要创建一个实现该 ITemplate 接口的类。

public class TemplateImplementation : ITemplate 
{ 
    public void InstantiateIn(Control container)
    {
        Image image = new Image();
        image.DataBinding += Image_DataBinding;
        container.Controls.Add(image); 
    }

    void Image_DataBinding(object sender, EventArgs e)
    {
        Image image = (Image)sender;
        object dataItem = DataBinder.GetDataItem(image.NamingContainer);
        // If the url is a property of the data item, you can use this syntax
        //image.ImageUrl = (string)DataBinder.Eval(dataItem, "ThePropertyName");
        // If the url is the data item then you can use this syntax
        image.ImageUrl = (string)dataItem;
    } 
}

然后将 ItemTemplate 设置为此类的实例。

colPic.ItemTemplate = new TemplateImplementation();

You need to create a class that implements that ITemplate interface.

public class TemplateImplementation : ITemplate 
{ 
    public void InstantiateIn(Control container)
    {
        Image image = new Image();
        image.DataBinding += Image_DataBinding;
        container.Controls.Add(image); 
    }

    void Image_DataBinding(object sender, EventArgs e)
    {
        Image image = (Image)sender;
        object dataItem = DataBinder.GetDataItem(image.NamingContainer);
        // If the url is a property of the data item, you can use this syntax
        //image.ImageUrl = (string)DataBinder.Eval(dataItem, "ThePropertyName");
        // If the url is the data item then you can use this syntax
        image.ImageUrl = (string)dataItem;
    } 
}

You then set your ItemTemplate to an instance of this class.

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