页面加载时如何在gridview中给<ItemTemplate>里面的label的text赋值
protectedvoidGridView2_RowDataBound(objectsender,GridViewRowEventArgse){if((e.Row.Row...
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowState & DataControlRowState.Edit) != 0)
{
DropDownList dd = (DropDownList)e.Row.FindControl("DropDownList2"); //正常
.
.
.
Label lab=(Label)e.Row.FindControl("btype");
lab.Text = dd.SelectedItem.Text; //错误:未将对象引用设置到对象的实例
}
}
<asp:TemplateField HeaderText="图书类型">
<ItemTemplate>
<asp:Label ID="btype" runat="server" Text=""></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField> 展开
{
if ((e.Row.RowState & DataControlRowState.Edit) != 0)
{
DropDownList dd = (DropDownList)e.Row.FindControl("DropDownList2"); //正常
.
.
.
Label lab=(Label)e.Row.FindControl("btype");
lab.Text = dd.SelectedItem.Text; //错误:未将对象引用设置到对象的实例
}
}
<asp:TemplateField HeaderText="图书类型">
<ItemTemplate>
<asp:Label ID="btype" runat="server" Text=""></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField> 展开
5个回答
展开全部
假如 a= new grdiview 那么 a 里面的 lable 有两个属性,text 和 value ,你需要对他的这两个属性复制 ,这两属性在 item 里,你要选择以行,比如 item[1] ,这一行里有一列, item[1].colume[3] 然后这一列 的text 和 value ,具体写的没有.net 环境,所以,拼写不准,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在后台中的rowdatabound事件中写:
1 限定只能是数据行
2 利用findcontrol(ID)的方法得到label控件
3 根据特定条件进行赋值
补充:根据你的代码来看,你应该加上限定当为编辑行的时候应用到dropdownlist,而为普通数据行的时候应用到itemtemplate里面的项目
1 限定只能是数据行
2 利用findcontrol(ID)的方法得到label控件
3 根据特定条件进行赋值
补充:根据你的代码来看,你应该加上限定当为编辑行的时候应用到dropdownlist,而为普通数据行的时候应用到itemtemplate里面的项目
追问
没错,findcontrol可以找到dropdownlist但无法找到label
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
e.Row.Cells[你的LABEL所在的列].FindControl("btype");
if ((e.Row.RowState & DataControlRowState.Edit) != 0)
你这个条件,是LABEL在编辑条件下检查的,你的模版是设置在编辑状态下的吗?
如果是在编辑状态下,还要DataControlRowState.Alternate.....后面什么忘记了或 | Data.........Edit来捕获交替行
if ((e.Row.RowState & DataControlRowState.Edit) != 0)
你这个条件,是LABEL在编辑条件下检查的,你的模版是设置在编辑状态下的吗?
如果是在编辑状态下,还要DataControlRowState.Alternate.....后面什么忘记了或 | Data.........Edit来捕获交替行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<asp:Label ID="cb_id" runat="server" Text='<%#Eval("字段名") %>' />
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gridview有绑定数据源吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询