如何在gridview里动态添加的模板列为图片的问题。

如何在gridview里动态添加的模板列为图片的问题。,第1张

数据库中保存图片路径(../image/1.jpg)赋值给图片模板中的图片控件。在保存图片路径的时候就将图片存放的文件夹及其图片名称都保存,这样再提取图片路径的时候就可以跟一般控件赋值一样了。

动态添加模板列

public class GridViewTextTemplate : System.Web.UI.ITemplate

{

private DataControlRowType templateType

private string columnName

private string Id

public GridViewTextTemplate(DataControlRowType type, string colname, string controlId)

{

templateType = type

columnName = colname

Id = controlId

}

public void InstantiateIn(System.Web.UI.Control container)

{

switch (templateType)

{

case DataControlRowType.Header:

myHeadLiteral.ID = Id

myHeadLiteral.Text = columnName

container.Controls.Add(myHeadLiteral)

break

case DataControlRowType.DataRow:

TextBox txt= new TextBox()

txt.ID = cId

txt.DataBinding += new EventHandler(this.TextBoxDataBinding)

container.Controls.Add(txt)

break

default:

break

}

}

private void TextBoxDataBinding(Object sender, EventArgs e)

{

TextBox txt= (TextBox)sender

GridViewRow row = (GridViewRow)txt.NamingContainer

txt.Text = System.Web.UI.DataBinder.Eval(row.DataItem, columnName).ToString()

}

}

void Page_Load(Object sender, EventArgs e)

{

if (!IsPostBack)

{

TemplateField tf

tf= new TemplateField()

tf.ItemTemplate = new GridViewTextTemplate(DataControlRowType.DataRow, "", "")

tf.HeaderTemplate = new GridViewTextTemplate(DataControlRowType.Header, "", "")

GridView1.Columns.Add(tf)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11519672.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存