需求是这样的,有GridView1一个,GridView1中有模板列一个,在数据加载过程中,会根据逻辑代码的判断来决定放哪个控件,其中的控件包括 一个LinkButton控件或者Label控件,您能否写一段代码给我呢,谢谢!
解决方案 »
- 如何将数据库的数据读出来显示
- 请大家帮我看看我这个操作类有没有什么不妥的地方,请指点一下
- 工具中的数据 detauksvuet
- 菜鸟问题,超简单!
- 子查询问题?
- 我有个关于asp.net调用数据库方面的问题向各位高手请教!!
- 急求一简单名片管理的原码,bs结构的,asp.net+vb.net/c#的
- label里没正确显示含有html标签的文本,怎么改啊?
- double类型怎样可以指定小数点后的位数?
- 奇怪的问题,我在现在运行的网站下新建了一个文件夹,把新写的一个网站放进去却浏览不了。。。。。。。。。
- 奇怪的问题,关于DbDataAdapter.Fill
- GridView的TabIndex如何設定
在行绑定事件中写
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(你的逻辑判断)
{
e.Row.Cells[CellIndex].Controls[1].Visible = true;
}
else
{
e.Row.Cells[CellIndex].Controls[2].Visible = true;
}
}
<asp:LinkButton ID="lb1"Label<asp:Label ID="lab1"GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton lb1 = (LinkButton)e.Row.FindControl("lb1");
Label lab1 = (Label)e.Row.FindControl("lab1");
if (true)
{
lb1.Visible = true;
lab1.Visible = false;
}
else
{
lb1.Visible = false;
lab1.Visible = true;
}
}
}
我的意思是在页面加载的时候,动态往GridView1的模板里添加服务器控件(每行只可能有一个控件),而不是往GridView1里添加所有服务器控件后,去设置它们的Visble属性。
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if(你要加LinkButton)
{
LinkButton lb = new LinkButton();
lb.Text = "你要显示的字";
e.Row.Cells[2].Controls.Add(lb);//在第3列加LinkButton
}
else if(你要加Label)
{
//参照上面
}
}
}
{
LinkButton lb=e.Row.Cells.FindControl("LinkButton1") as LinkButton;
Label label=e.Row.Cells.FindControl("Label1") as Label;
if(你的逻辑判断)
{
lb.Visible=true;
label.Visible=false;
}
else
{
lb.Visible=false;
label.Visible=true;
}
}