如何验证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));             
        }            

  

原文地址:https://www.cnblogs.com/YoungPop-Chen/p/3312906.html