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怎么获取?
原来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怎么获取?
2 if (e.Row.RowType==DataControlRowType.DataRow)
{
Label ddl = (Label)e.Row.FindControl("lblClass");
ddl.Text="label";
}
谢谢!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));
}