在GridView 中显示 数据源SqlDataSource中的image 超链接 模板 commandField和对每一项的 delect edit update操作
当绑定完数据后对GridView进行编辑列操作
image:在没有修改之前在image这一列中是显示数据库中iamge文件的文件路径的,这是我们在编辑列中把原image字段用imagefield字段替换
,之后再新ImageField的属性中绑定数据源中相应字段
。这时就如上图曹操了。
超链接:同上用字段替换你的相应字段,在属性中配置
模板:模板呢他是一个列可以再GridView的列编辑中进行添加和删除添加后可以进行模板的编辑,一般情况下模板的显示模式是
的在这种情况下模板只能显示数据内容而不能进行edit操作,这时我们在设置模板的显示为
在其中设置于ItemTemplate相同的结构,在后台进行对模板内控件的数据绑定即可
<td>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#Bind("images") %>' /></td>
注:以 在模板中显示并且能够修改一张图片为例
<ItemTemplate><asp:Image ID="Image1" runat="server" ImageUrl='<%#Bind("images") %>' /></td></ItemTemplate>
<EditItemTemplate><asp:TextBox ID="TextBox1" runat="server" Text='<%#Bind("images") %>'></asp:TextBox></EditItemTemplate>
在模板中这两行代码都存在同一个模板中,都是针对一张图片只不过一个是
‘显示’ 一个是
‘编辑’ 但是他们里面所盛放的控件是不同这是因为显示我们要用image控件来显示图片
但编辑我们是对图片文件的路径进行编辑的
commandField:在绑定数据源后 GridView会有默认的字段可以执行修改 删除操作。当然我们也可以用
字段来达到相同目的,其中有
属性用来关联此按钮的命令,其中有下面几个
edit(编辑)操作:为 CommandField属性设置edit 但是当有列被替换成超链接后会报错此列不能为空
update(更新)操作:为 CommandField属性设置update
delete(删除)操作:这个比较麻烦我们还需要为GridView设置事件
事件代码
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow)
{
return;
}
LinkButton lb = (LinkButton)e.Row.Cells[6].Controls[0];
LinkButton lb2 = (LinkButton)e.Row.Cells[8].Controls[0];
if (lb != null)
{
lb.Attributes.Add("onclick", "return confirm('确定要删除吗?');");
}
if (lb2 != null)
{
lb2.Attributes.Add("onclick","return confirm('确定更新?')");
}
}
如果我们在配置数据源控件时在配置Select语句这一步时要在高级选项中勾选第一项而不勾选第二项 否则 delete操作不执行 但不报错