首页 新闻 会员 周边

TextBox触发事件

0
悬赏园豆:20 [已解决问题] 解决于 2018-07-02 15:02

如图所示,数量和单价都是GridView里的textbox ,在前台可以通过修改单价或者数量,在后台直接算出来金额和税额;

然后在后台会触发到对应的事件;

但是,后台事件里数量、单价里的代码都是一样的,有没有方法就是,在前台只要触发了textbox事件,就会执行后台的这些相同的方法;我想到了用委托,但是,可能是因为TextBox在Gridview里,老是不成功;谁给解答下;

ProZkb的主页 ProZkb | 初学一级 | 园豆:4
提问于:2018-07-02 11:57
< >
分享
最佳答案
0

1、你后台封装的方法,给不同的事件调用,这不需要用到委托吧。

2、你直接在事件里面调用你统一封装的方法不就可以了,或者你把触发的事件函数指向同一个事件;

收获园豆:20
雨之秋水 | 小虾三级 |园豆:649 | 2018-07-02 14:28

你把触发的事件函数指向同一个事件??

这个怎么写?是给textbox的点击事件,指向封装的函数?  详细些

ProZkb | 园豆:4 (初学一级) | 2018-07-02 14:34

@ZKB&&ZKP: 比如你已经有了一个XMSL_TextChanged事件,看你图中的是那个文本事件都是一样的,这样你直接引同一个,你把你的XMDJ_TextChanged事件删除,直接选择XMSL_TextChanged(右键到达指定的事件,下拉列表里面可选,或者你直接把XMSL_TextChanged复制到XMDJ文本框的TextChanged事件属性里面)。

Demo如下图(你看我有两个textbox文本框,我第一个(textbox1)文本框有个textbox1_TextChanged事件,那我第二个(textbox2)文本框直接选择textbox1_TextChanged),你的GridView里的textbox同理:

雨之秋水 | 园豆:649 (小虾三级) | 2018-07-02 14:54

@雨之秋水: 谢谢~~~

ProZkb | 园豆:4 (初学一级) | 2018-07-02 15:02

@雨之秋水: 想再问你一个问题:

当下面的数量为正数的时候,单价里面的2个TextBox合成一个TextBox;

当数量为负数的时候,它保留2个textbox;

前台代码:

1   <ItemTemplate>
2                                 <asp:TextBox runat="server" Text='<%# Bind("XMDJ") %>' ID="txtXMDJ" BorderWidth="1px" Width="100%" Height="15px" style="TEXT-ALIGN:center" onTextChanged="XMMC_TextChanged"  AutoPostBack="True"></asp:TextBox>
3                                 <asp:TextBox runat="server" Text='<%# Bind("XMDJ") %>' ID="txtXMDJ2" BorderWidth="1px" Width="100%" Height="15px" style="TEXT-ALIGN:center" onTextChanged="XMMC_TextChanged"  AutoPostBack="True"></asp:TextBox>
4                                 <itemstyle horizontalalign="Center" />
5 
6                             </ItemTemplate>

 

 

ProZkb | 园豆:4 (初学一级) | 2018-07-02 15:23

@ZKB&&ZKP: 你可以还是每行两个TextBox,当数量为正数时,你隐藏其中一个文本框就可以啦。

雨之秋水 | 园豆:649 (小虾三级) | 2018-07-02 17:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册