1

私はSharePointのWebパーツに書き込んでいるので、問題のあるデータグリッドを生成する必要があります。

状況は、データビューを取得し、Grisを生成し、データをバインドすることです。1つの列に画像が表示されるはずなので、アイテムテンプレートを使用してテンプレート列を生成する必要があります。

したがって、コードは次のようになります。

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

aspがitem-templateを作成する例を何十も見つけましたが、コードで1つを作成し、そのImageUrlをDataviewの「imgURL」にバインドするにはどうすればよいでしょうか。

アドバイスありがとうございます

レン

4

1 に答える 1

1

その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();
于 2009-10-29T16:16:17.313 に答える