这类控件的使用鼠标操作很多!所以不是很好解释,接下来我就概括的介绍下GridView控件的初步知识!
GridView包含以下列:
• 绑定列 (常用列)
• 图片列
• 超级链接列
• 复选框列
• 按钮列
• 命令列
• 模版列 (重点,灵活性大大提高)
如何访问GridView中的数据?(重点)
LinkButton lbtn = e.Row.Cells[6].Controls[0] as LinkButton; //除模板列之外的特殊列,使用单元格的Controls集合去访问
HyperLink link = e.Row.Cells[1].Controls[0] as HyperLink;
string sid = e.Row.Cells[0].Text; //普通的绑定列,通过Text属性去访问
Image img = e.Row.Cells[5].FindControl("Image1") as Image; //适合在模板列查找
GridView控件可以通过行和列来控制外观样式
整体外观控制:布局、分页、外观
行外观控制:项、交替项、编辑项、选中项、页眉、页脚、分页、空数据项
如何为删除按钮增加提示? (GridView1_RowDataBound事件是在更新数据行时调用的事件)
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow)
return;
//if ((e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit) //效果同下
// return;
if(e.Row.Cells[6].Controls.Count == 0) //点击编辑时,删除列会隐藏。为了解决索引超出问题的方法
return;
LinkButton lbtn = e.Row.Cells[6].Controls[0] as LinkButton;
string sname = e.Row.Cells[1].Text;
if (lbtn != null)
{
lbtn.Attributes.Add("onclick", "return confirm('确认要删除" + sname + "吗?')");
}
}
{
if (e.Row.RowType != DataControlRowType.DataRow)
return;
//if ((e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit) //效果同下
// return;
if(e.Row.Cells[6].Controls.Count == 0) //点击编辑时,删除列会隐藏。为了解决索引超出问题的方法
return;
LinkButton lbtn = e.Row.Cells[6].Controls[0] as LinkButton;
string sname = e.Row.Cells[1].Text;
if (lbtn != null)
{
lbtn.Attributes.Add("onclick", "return confirm('确认要删除" + sname + "吗?')");
}
}
Eval单向绑定!从数据源调用数据到UI
Bind为双向绑定!可以实现从数据源到UI从UI到数据源的双向传值和绑定!
实现 确认,取消 对话框的代码 confirm("确定删除?")