问题描述
遇到一个需求:GirdView表:用户希望触发列头排序OnSorting的时候同时将列头显示内容"金额<"改为"金额>",<asp:BoundFieldHeaderText="金额<"SortExpression="price"DataField="price"ItemStyle-HorizontalAlign="Center"DataFormatString="{0:F}"/>,我希望在利用GirdView绑定上解决,而不是换成repeater控件,换成其他控件工程量太大,不好改,各位道友有什么好的建议吗
解决方案
解决方案二:
使用jquery修改不就可以了吗?
解决方案三:
对GirdView控件不熟,HeaderText="<%=_price%>"后台中声明变量,OnSorting事件中修改。
解决方案四:
大概思路可以是这样子的:在onsorting事件中,获取当前行,然后e.Row.Columns[0].HeaderText="XXXX";具体的代码还要再修改
解决方案五:
GridView控件点击行修改信息示例//GridView设置<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"BackColor="White"BorderColor="#336666"BorderStyle="Double"BorderWidth="3px"CellPadding="4"GridLines="Horizontal"onrowcancelingedit="GridView1_RowCancelingEdit"onrowdeleting="GridView1_RowDeleting"onrowediting="GridView1_RowEditing"onrowupdating="GridView1_RowUpdating"PageSize="4"style="font-size:small"AllowPaging="True"onpageindexchanging="GridView1_PageIndexChanging"><RowStyleBackColor="White"ForeColor="#333333"/><Columns><asp:BoundFieldDataField="BccdID"HeaderText="编号"ReadOnly="True"/><asp:BoundFieldDataField="BccdName"HeaderText="版本名称"/><asp:BoundFieldDataField="BccdPrice"HeaderText="词典价格"/><asp:BoundFieldDataField="BccdSaleDate"DataFormatString="{0:d}"HeaderText="发行日期"/><asp:BoundFieldDataField="BccdInStock"HeaderText="现有库存量"/><asp:CommandFieldHeaderText="选择"ShowSelectButton="True"/><asp:CommandFieldButtonType="Image"CancelImageUrl="~/Images/BtnCancel.gif"EditImageUrl="~/Images/BtnUpdate.gif"HeaderText="编辑"ShowEditButton="True"UpdateImageUrl="~/Images/BtnSave.gif"/><asp:TemplateFieldHeaderText="删除"ShowHeader="False"><ItemTemplate><asp:ImageButtonID="ImageButton1"runat="server"CommandName="Delete"ImageUrl="~/Images/BtnDelete.gif"onclientclick="returnconfirm('确定删除吗?');"/></ItemTemplate></asp:TemplateField></Columns><FooterStyleBackColor="White"ForeColor="#333333"/><PagerStyleBackColor="#336666"ForeColor="White"HorizontalAlign="Center"/><SelectedRowStyleBackColor="#339966"Font-Bold="True"ForeColor="White"/><HeaderStyleBackColor="#336666"Font-Bold="True"ForeColor="White"/></asp:GridView>//绑定数据控件显示信息protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){BindData();//调用自定义方法绑定数据到控件}}//codego.net/tags/11/1/publicvoidBindData(){stringstrCon=ConfigurationManager.AppSettings["conStr"];//定义数据库连接字符串stringsqlstr="select*frommrbccd";//定义执行查询操作的SQL语句SqlConnectioncon=newSqlConnection(strCon);//创建数据库连接对象SqlDataAdapterda=newSqlDataAdapter(sqlstr,con);//创建数据适配器DataSetds=newDataSet();//创建数据集da.Fill(ds);//填充数据集GridView1.DataSource=ds;//设置GridView控件的数据源为创建的数据集ds//将数据库表中的主键字段放入GridView控件的DataKeyNames属性中GridView1.DataKeyNames=newstring[]{"BccdID"};GridView1.DataBind();//绑定数据库表中数据}//处理编辑数据连接publicboolExceSQL(stringstrSqlCom){//定义数据库连接字符串stringstrCon=ConfigurationManager.AppSettings["conStr"];//创建数据库连接对象SqlConnectionsqlcon=newSqlConnection(strCon);SqlCommandsqlcom=newSqlCommand(strSqlCom,sqlcon);try{//判断数据库是否为连连状态if(sqlcon.State==System.Data.ConnectionState.Closed){sqlcon.Open();}//执行SQL语句sqlcom.ExecuteNonQuery();//SQL语句执行成功,返回true值returntrue;}catch{//SQL语句执行失败,返回false值returnfalse;}finally{//关闭数据库连接sqlcon.Close();}}//编辑数据行修改数据protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse){//取得编辑行的关键字段的值stringbccdID=GridView1.DataKeys[e.RowIndex].Value.ToString();//取得文本框中输入的内容stringbccdName=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();stringbccdPrice=((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();stringbccdSaleDate=((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();stringbccdInStock=((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();//定义更新操作的SQL语句stringupdate_sql="updatemrbccdsetBccdName='"+bccdName+"',BccdPrice='"+bccdPrice+"',bccdSaleDate='"+Convert.ToDateTime(bccdSaleDate)+"',BccdInStock='"+bccdInStock+"'whereBccdID='"+bccdID+"'";boolupdate=ExceSQL(update_sql);//调用ExceSQL执行更新操作if(update){Response.Write("<scriptlanguage=javascript>alert('修改成功!')</script>");//设置GridView控件的编辑项的索引为-1,即取消编辑GridView1.EditIndex=-1;BindData();}else{Response.Write("<scriptlanguage=javascript>alert('修改失败!');</script>");}}