如何验证gridview控件的编辑行?如何获得gridview模板列<ItemTemplate/>中Label值?
1.验证gridview控件的编辑行:
原来datagrid中 在ItemDatabound中
//判断是否是编辑项
if(e.Item.ItemType == ListItemType.EditItem)
{
//添加验证事件
}
但 现在的 RowDataBound没有表示编辑项了 ,不知怎么表示?
2.获得gridview模板列<ItemTemplate/>中Label值
由于采用编辑模板,要后台获得
<ItemTemplate>
<asp:Label ID="lblClass" runat="server" Text='<%# Bind("MachineType_Class") %>'></asp:Label>
</ItemTemplate>
lblClass值 ,根据控件label值显示不同的值,在RowDataBound怎么获取?
1 if ((e.Row.RowState & DataControlRowState.Edit) != 0) 2 if (e.Row.RowType==DataControlRowType.DataRow) { Label ddl = (Label)e.Row.FindControl("lblClass"); ddl.Text="label"; }
To jc15271149(嘿咻) : 谢谢!Q2已经好了;但在rowdatabound事件中 这两个不能共存: if (e.Row.RowType == DataControlRowType.DataRow) { Label lblClassNo = (Label)e.Row.FindControl("lblClass"); string nClass = lblClassNo.Text.Trim(); switch (nClass) { case "0": lblClassNo.Text = "0-Knitting Machine"; break; case "1": lblClassNo.Text = "1-Seaming Machine"; break; case "5": lblClassNo.Text = "5-Other Machine"; break; default: break; } } if((e.Row.RowState & DataControlRowState.Edit)!= 0) { //找到编辑项中的ddlProductID下拉列表控件 DropDownList drpClassNo = (DropDownList)e.Row.FindControl("ddlClass"); //设置在上个操作中ddlProductID下拉列表中选中的项 drpClassNo.SelectedIndex = drpClassNo.Items.IndexOf(drpClassNo.Items.FindByText(EditClassName)); }
posted on 2013-09-10 19:11 YoungPop_Chen 阅读(534) 评论(0) 编辑 收藏 举报