问题描述
是这样,本来Gridview是直接显示一个后台绑定数据源的表格,但现在老大要求把“状态”列改成改成可以直接改的。而是我能让Gridview的那个状态列显示下拉框,选择不同的状态了,可是我变了状态,并没有保存到。后台是用RowCommand接收。。。应该怎么改呢,各位帮帮忙。。。很急。。。。谢谢。。//前台<asp:GridViewID="GridView1"OnRowCommand="GridView1_RowCommand"OnRowCreated="GridView1_RowCreated"OnRowDataBound="GridView1_RowDataBound"OnSorting="GridView1_Sorting"runat="server"AutoGenerateColumns="False"CellPadding="4"DataKeyNames="ID"Width="95%"><asp:TemplateFieldHeaderText="状态"><ItemTemplate><asp:LinkButtonID="LinkButton1"runat="server"CommandName="Select"Text='<%#Bind("Status")%>'></asp:LinkButton><asp:DropDownListID="List1"runat="server"DataTextField="Status"DataValueField="Status"SelectedValue='<%#Bind("Status")%>'CommandName="List"CommandArgument='<%#Eval("ID")%>'><asp:ListItemValue="审核中">审核中</asp:ListItem><asp:ListItemValue="已批准">已批准</asp:ListItem><asp:ListItemValue="已拒绝">已拒绝</asp:ListItem></asp:DropDownList></ItemTemplate></asp:TemplateField>
//后台protectedvoidGridView1_RowCommand(objectsender,GridViewCommandEventArgse){if(e.CommandName=="List"){stringid=e.CommandArgument.ToString();//取得StatusintrowIndex=((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;stringstrStatus=GridView1.DataKeys[rowIndex].Value.ToString();////更新SQLPub.ExeSql("updateApplysetStatus='"+strStatus+"'whereid="+Pub.IsNullInt(id)+"");DataBinder();}}
解决方案
解决方案二:
看下这个例子就知道了。