问题描述
如图所示,只有第一次打开的时候是未拨状态,只要换页后,直接显示数字,protectedvoidPage_Load(objectsender,EventArgse){for(inti=0;i<GridView1.Rows.Count;i++){if(GridView1.Rows[i].Cells[7].Text=="0"){//Response.Write("<scriptlanguage=javascript>alert('未拨');</"+"script>");GridView1.Rows[i].Cells[7].Text="未拨";}}}}此段用于对标志位的逻辑判断,但是换页后不起作用
解决方案
解决方案二:
在rowbound事件中写
解决方案三:
需要编写RowDataBound事件,下面的我的事件后台的程序,前台的Gridview只要加入这个事件就可以了。<asp:GridViewID="GridView_USA_Project_Manager"runat="server"AutoGenerateColumns="False"CssClass="GridViewStyle"onrowdatabound="GridView_USAProEngineer_RowDataBound"DataKeyNames="status">//status绑定protectedvoidGridView_USAProEngineer_RowDataBound(objectsender,GridViewRowEventArgse){if(((DropDownList)e.Row.FindControl("ddl_usapro_status"))!=null){DropDownListddl=(DropDownList)e.Row.FindControl("ddl_usapro_status");stringstatus=GridView_USA_Project_Manager.DataKeys[e.Row.RowIndex]["status"].ToString();if(status!=""){ddl.Items.FindByText(status).Selected=true;}}}
解决方案四:
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Cells[7].Text=e.Row.Cells[7].Text=="1"?"已拨":"未拨";在这里进行判断赋值就好了。}}
解决方案五:
按你给的代码是不起作用的。执行顺序:1:pageload页面一进来就会执行。2:当你翻页后,先执行pageload,后执行翻页事件。所以不起作用。