为什么GridView有的列能更新,有的列不能更新?
请看我的全部代码,现在出现的奇怪现象是,GridView1一共三列显,点"编辑""更新",同时修改BrandName(名称)一列,和LogoURL字段(图标)一列时,LogoURL是可以修改其值的,但是BrandName的值始终不会变,这个是怎么回事呢?
<%@ Page Language="VB" Trace="False" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Page Language="VB" Trace="False" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If (Session("ValidUser") <> "Admin") Then ClientScript.RegisterClientScriptBlock(Me.GetType, "Redirect", "<" & "script>parent.location='default.aspx';</" & "script>")
If Not Page.IsPostBack Then
LstAppCode_SelectedIndexChanged(sender, e)
End If
End Sub
Protected Sub LstAppCode_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
AccessDataSource1.SelectCommand = "Select * from [Brand] where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub
Protected Sub LnkAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Server.Transfer("ht_AddBrand.aspx?AppCode=" & Server.UrlEncode(LstAppCode.SelectedValue))
End Sub
Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)
AccessDataSource1.SelectCommand = "Select * from [Brand] where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub
Protected Sub GridView1_RowUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdatedEventArgs)
AccessDataSource1.SelectCommand = "SELECT * FROM [Brand] Where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub
Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs)
AccessDataSource1.SelectCommand = "SELECT * FROM [Brand] Where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub
</script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" style="font-size:14px;">
选择频道:<asp:DropDownList ID="LstAppCode" runat="server" OnSelectedIndexChanged="LstAppCode_SelectedIndexChanged" AutoPostBack="true" >
<asp:ListItem Value="FZ">云南服装</asp:ListItem>
<asp:ListItem Value="HZPZYX">云南化妆品专业线</asp:ListItem>
<asp:ListItem Value="PE">云南普洱茶</asp:ListItem>
<asp:ListItem Value="NY">云南内衣</asp:ListItem>
<asp:ListItem Value="XY">云南鞋业</asp:ListItem>
<asp:ListItem Value="HZPRH">云南化妆品(日化)</asp:ListItem>
</asp:DropDownList>
<asp:LinkButton ID="LnkAdd" runat="server" OnClick="LnkAdd_Click">新增品牌</asp:LinkButton>
<hr style="border-color:Lime; border-width:3px; border-style:ridge;" />
<div style="padding:10px 10px 10px 10px ">
<asp:GridView ID="GridView1" runat="server" DataSourceID="AccessDataSource1" AutoGenerateColumns="False"
DataKeyNames="BrandName,AppCode" AutoGenerateEditButton="true" OnRowEditing="GridView1_RowEditing" OnRowUpdated="GridView1_RowUpdated" OnRowCancelingEdit="GridView1_RowCancelingEdit" >
<Columns>
<asp:BoundField DataField="BrandName" HeaderText="名称" SortExpression="BrandName" />
<asp:BoundField DataField="AppCode" Visible="false" />
<asp:ImageField DataImageUrlField="LogoURL" HeaderText="图标" />
</Columns>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="/App_Data/heart.mdb"
UpdateCommand="update [Brand] set LogoURL=@LogoURL,BrandName=@BrandName where AppCode=@AppCode and BrandName=@BrandName">
<UpdateParameters>
<asp:ControlParameter ControlID="GridView1" Name="LogoURL" Type="String" />
<asp:ControlParameter ControlID="GridView1" Name="AppCode" Type="String" />
<asp:ControlParameter ControlID="GridView1" Name="BrandName" Type="String" />
</UpdateParameters>
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
...全文
相关推荐
自动调整gridview列宽的程序
android 自动调整gridview列宽的程序
在WinForms GridView中实现CheckBox列
GridView控件是ASP.NET Web表单技术中的一种常用数据展示控件,它能够在网页上以表格的形式显示数据。它可以绑定到数据源并显示数据,支持对数据的编辑、删除和排序操作。在某些情况下,还需要允许用户通过checkBox对特定行进行选择,以便执行批量操作。GridView控件是一种用于在Windows窗体应用程序中显示数据的表格视图。它允许开发者以网格的形式展示多行多列的数据,非常适合于显示和操作数据集合。
GRIDVIEW列可随意改变位置
GRIDVIEW列可随意改变位置
让GridView只更新某些特定的数据的方法
我又不希望所有的数据都可以修改,只希望修改某些特定的列,用下面的方法即可
gridview 冻结列
用c#连接oracle 数据库,gridview显示oracle内容,数据量大时,可以实现gridview 某列始终显示


