GridView里使用 DropDownList 更新数据列,不需要写一句代码

 

GridView里使用 DropDownList 更新数据列,不需要写一句代码

  < asp:TemplateField >
2 < ItemTemplate >
3 <% #Eval("status").ToString()=="0"?"正常":"屏蔽" %>
4 </ ItemTemplate >
5 < EditItemTemplate >
6 < asp:DropDownList ID ="status" SelectedValue ='<%#Bind("status") % > ' runat="server">
7 < asp:ListItem Value ="0" > 正常 </ asp:ListItem >
8 < asp:ListItem Value ="-1" > 屏蔽 </ asp:ListItem >
9 </ asp:DropDownList >
10
11 </ EditItemTemplate >
12 </ asp:TemplateField >

整段代码如下

 

 

  
  
1 < asp:GridView ID ="GridView1" runat ="server" Width ="100%" AllowPaging ="True" AllowSorting ="True"
2 AutoGenerateColumns ="False" DataKeyNames ="id" DataSourceID ="SqlDataSource1" >
3 < Columns >
4 < asp:CommandField ShowDeleteButton ="True" ShowEditButton ="True" />
5 < asp:BoundField DataField ="id" HeaderText ="id" InsertVisible ="False" ReadOnly ="True"
6 SortExpression ="id" />
7 < asp:BoundField DataField ="typename" HeaderText ="名称" SortExpression ="typename" />
8 < asp:TemplateField >
9 < ItemTemplate >
10 <% #Eval("status").ToString()=="0"?"正常":"屏蔽" %>
11 </ ItemTemplate >
12 < EditItemTemplate >
13 < asp:DropDownList ID ="status" SelectedValue ='<%#Bind("status") % > ' runat="server">
14 < asp:ListItem Value ="0" > 正常 </ asp:ListItem >
15 < asp:ListItem Value ="-1" > 屏蔽 </ asp:ListItem >
16 </ asp:DropDownList >
17
18 </ EditItemTemplate >
19 </ asp:TemplateField >
20
21 < asp:BoundField DataField ="remark" HeaderText ="备注" SortExpression ="remark" />
22 </ Columns >
23 </ asp:GridView >
24 < asp:SqlDataSource ID ="SqlDataSource1" runat ="server" ConnectionString ="<%$ ConnectionStrings:db %>" DeleteCommand ="DELETE FROM [t_NewsType] WHERE [id] = @id"
25 InsertCommand ="INSERT INTO [t_NewsType] ([typename], [status], [remark]) VALUES (@typename, @status, @remark)"
26 SelectCommand ="SELECT * FROM [t_NewsType] where pid=@pid"
27 UpdateCommand ="UPDATE [t_NewsType] SET [typename] = @typename, [status] = @status, [remark] = @remark WHERE [id] = @id" >
28 < SelectParameters >
29 < asp:QueryStringParameter DefaultValue ="0" Name ="pid" Type ="int32" />
30 </ SelectParameters >
31 < DeleteParameters >
32 < asp:Parameter Name ="id" Type ="Int32" />
33 </ DeleteParameters >
34 < UpdateParameters >
35 < asp:Parameter Name ="typename" Type ="String" />
36 < asp:Parameter Name ="status" Type ="Int32" />
37 < asp:Parameter Name ="remark" Type ="String" />
38 < asp:Parameter Name ="id" Type ="Int32" />
39 </ UpdateParameters >
40 < InsertParameters >
41 < asp:Parameter Name ="typename" Type ="String" />
42 < asp:Parameter Name ="status" Type ="Int32" />
43 < asp:Parameter Name ="remark" Type ="String" />
44 </ InsertParameters >
45 </ asp:SqlDataSource >
46
47

注意, <asp:DropDownList ID="status" SelectedValue='<%#Bind("status") %>' runat="server">
  这里是关键,SelectedValue='<%#Bind("status") %>',要使用bind,我曾经用 <%#eval("status") %>一直在调试,在update的时候就是找不到数据,我就觉得奇怪了,以前都这么写过的,没问题的,去网上搜索,网上大部分是要在cs里写GridView事件捕捉这个控件的。而这里讲的方法不需一句代码。呵呵

 ps:浪费我半个多小时时间调试出来,气愤的很,所以共享出来大家分享,避免大家再浪费半个多小时。

转载: http://www.svnhost.cn/Article/Detail-31.shtml
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值