asp.net中 gridview控件 编辑按钮却能改变所有列的值
asp.net中的gridview控件:编辑按钮却能改变所有列的值,但是只想改变其中一列的值,又或者不用编辑按钮但是双击可改变那一个单元格的值如果能够解决问题的话,还有加...
asp.net中的gridview控件:编辑按钮却能改变所有列的值,但是只想改变其中一列的值,又或者 不用编辑按钮 但是双击可改变那一个单元格的值
如果能够解决问题的话,还有加分喔~~请ASP.NET高手帮帮忙了
就是Gridview,启动编辑功能,网页运行显示时,若点击某行的编辑,则可以修改此行所有列的值,但是,我只想修改其中一个列的值,其他列不准改 如果,这样不能实现的话,那么,取消编辑功能,在网页运行显示时,双击改变那个单元格的值也行 我是菜鸟,需要答案详细些,谢谢,最好有具体代码实现 VB 展开
如果能够解决问题的话,还有加分喔~~请ASP.NET高手帮帮忙了
就是Gridview,启动编辑功能,网页运行显示时,若点击某行的编辑,则可以修改此行所有列的值,但是,我只想修改其中一个列的值,其他列不准改 如果,这样不能实现的话,那么,取消编辑功能,在网页运行显示时,双击改变那个单元格的值也行 我是菜鸟,需要答案详细些,谢谢,最好有具体代码实现 VB 展开
8个回答
展开全部
采用模版
下面是我做的一个例子
<Columns>
<asp:TemplateField HeaderText="课程编号" Visible="false">
<EditItemTemplate>
<center> <asp:Label ID="lab_EdcourseID" runat="server" Text="<%# bind('courseID') %>"></asp:Label></center>
</EditItemTemplate>
<ItemTemplate>
<center>
<asp:Label ID="lab_dpcourseID" runat="server" Text="<%# bind('courseID') %>"></asp:Label>
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="课程名">
<EditItemTemplate>
<center>
<asp:TextBox ID="Txt_couName" runat="server" Text="<%# bind('courseName') %>"></asp:TextBox>
</center>
</EditItemTemplate>
<ItemTemplate>
<center>
<asp:Label ID="lab_courseName" runat="server" Text="<%# bind('courseName') %>"></asp:Label>
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="班级名">
<EditItemTemplate>
<center>
<asp:DropDownList ID="ddl_g" runat="server"
SelectedValue="<%# bind('classID') %>"
DataTextField="className" DataValueField="classID"
DataSourceID="ObjectDataSource1">
</asp:DropDownList> </center>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="SelectClassCarID" TypeName="BUS.teacher">
<SelectParameters>
<asp:SessionParameter DefaultValue="430682198712037423" Name="carID"
SessionField="carID" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</EditItemTemplate>
<ItemTemplate> <center>
<asp:Label ID="Label1" runat="server" Text="<%# bind('className') %>"></asp:Label> </center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="编辑">
<EditItemTemplate>
<center>
<asp:ImageButton ID="ImageButton1" CausesValidation="True" CommandName="Update" ImageUrl="~/image/确认.jpg" runat="server" OnClientClick="return confirm('确定更新')" />
<asp:ImageButton ID="ImageButton2" CausesValidation="False" CommandName="Cancel" ImageUrl="~/image/取消.jpg" runat="server" />
</center>
</EditItemTemplate>
<ItemTemplate>
<center>
<asp:ImageButton ID="ImageButton3" CausesValidation="False" CommandName="Edit" ImageUrl="~/image/编辑.jpg" runat="server" />
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<center>
<asp:ImageButton ID="ImageButton4" CausesValidation="False" CommandName="Delete" ImageUrl="~/image/删除.jpg" runat="server" OnClientClick="return confirm('确定删除')" />
</center>
</ItemTemplate>
</asp:TemplateField>
</Columns>
其中 <ItemTemplate> </ItemTemplate>是用来显示的 一般中间放 lable
而 <EditItemTemplate></EditItemTemplate>中是编辑时显示的内容
放相应的控件 如果不想让人改 就放lable 和 <ItemTemplate> </ItemTemplate>中放一样的
下面是我做的一个例子
<Columns>
<asp:TemplateField HeaderText="课程编号" Visible="false">
<EditItemTemplate>
<center> <asp:Label ID="lab_EdcourseID" runat="server" Text="<%# bind('courseID') %>"></asp:Label></center>
</EditItemTemplate>
<ItemTemplate>
<center>
<asp:Label ID="lab_dpcourseID" runat="server" Text="<%# bind('courseID') %>"></asp:Label>
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="课程名">
<EditItemTemplate>
<center>
<asp:TextBox ID="Txt_couName" runat="server" Text="<%# bind('courseName') %>"></asp:TextBox>
</center>
</EditItemTemplate>
<ItemTemplate>
<center>
<asp:Label ID="lab_courseName" runat="server" Text="<%# bind('courseName') %>"></asp:Label>
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="班级名">
<EditItemTemplate>
<center>
<asp:DropDownList ID="ddl_g" runat="server"
SelectedValue="<%# bind('classID') %>"
DataTextField="className" DataValueField="classID"
DataSourceID="ObjectDataSource1">
</asp:DropDownList> </center>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="SelectClassCarID" TypeName="BUS.teacher">
<SelectParameters>
<asp:SessionParameter DefaultValue="430682198712037423" Name="carID"
SessionField="carID" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</EditItemTemplate>
<ItemTemplate> <center>
<asp:Label ID="Label1" runat="server" Text="<%# bind('className') %>"></asp:Label> </center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="编辑">
<EditItemTemplate>
<center>
<asp:ImageButton ID="ImageButton1" CausesValidation="True" CommandName="Update" ImageUrl="~/image/确认.jpg" runat="server" OnClientClick="return confirm('确定更新')" />
<asp:ImageButton ID="ImageButton2" CausesValidation="False" CommandName="Cancel" ImageUrl="~/image/取消.jpg" runat="server" />
</center>
</EditItemTemplate>
<ItemTemplate>
<center>
<asp:ImageButton ID="ImageButton3" CausesValidation="False" CommandName="Edit" ImageUrl="~/image/编辑.jpg" runat="server" />
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<center>
<asp:ImageButton ID="ImageButton4" CausesValidation="False" CommandName="Delete" ImageUrl="~/image/删除.jpg" runat="server" OnClientClick="return confirm('确定删除')" />
</center>
</ItemTemplate>
</asp:TemplateField>
</Columns>
其中 <ItemTemplate> </ItemTemplate>是用来显示的 一般中间放 lable
而 <EditItemTemplate></EditItemTemplate>中是编辑时显示的内容
放相应的控件 如果不想让人改 就放lable 和 <ItemTemplate> </ItemTemplate>中放一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-05-25
展开全部
首先确定你选择的行,ridViewRow row = GridView1.SelectedRow;
然后按照index来修改所需要的行。
在update的时候再根据选择行的关键字来确定需要修改的行数据。
然后按照index来修改所需要的行。
在update的时候再根据选择行的关键字来确定需要修改的行数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更改的时候没有给条件,
你看看你的更新sql语句,是不是忘记了加上where 行限制了,所以全表都更新了。
你看看你的更新sql语句,是不是忘记了加上where 行限制了,所以全表都更新了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在 事件中比较老值和新值,如果两者相同者不加入到sql语句中,否则加到sql中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个控件功能很强大,百度上随便搜下关于这个的很多,会找到你想要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询