asp.net中dategrid添加復選框checkbox並實現單選,同時點擊復選框觸發事件。


概述:在asp.net中的使用dategrid,在dategrid中添加復選框並實現復選框checkbox的單選功能,在選擇的過程中,通過點擊復選框能夠觸發事件,比如,點擊復選框checkbox時,在textbox中顯示選中的值等等。

功能一:復選框checkbox單選:

借助js實現。

步驟一:添加復選框checkbox列;

1 <asp:TemplateColumn>
2 <ItemTemplate>
3 <asp:CheckBox ID="chkSelect"  runat="server">
4 </asp:CheckBox>
5 </ItemTemplate> 
6 </asp:TemplateColumn>
View Code

 

 

步驟二:將如下js代碼放到前台界面;

 1 <script language="javascript" type="text/javascript">
 2         function SetCheckBoxState() {//復選框單選
 3             var dom = document.all;
 4             var el = event.srcElement;
 5             if (el.tagName == "INPUT" && el.type.toLowerCase() == "checkbox") {
 6                 for (i = 0; i < dom.length; i++) {
 7                     if (dom[i].tagName == "INPUT" && dom[i].type.toLowerCase() == "checkbox") {
 8                         dom[i].checked = false;
 9                     }
10                 }
11             }
12             el.checked = !el.checked;
13         }
14     </script>
View Code

步驟三:
在ItemDataBound事件中將js方法添加到復選框checkbox上;

1  protected void gridPlan_ItemDataBound(object sender, DataGridItemEventArgs e)
2 {
3             CheckBox chkSelect;
4             chkSelect = (CheckBox)e.Item.FindControl("chkSelect");
5             chkSelect.Attributes.Add("OnClick", "SetCheckBoxState()");
6 }
View Code

通過上述三步,即可實現復選框checkbox的單選功能。

功能二:單選框checkbox事件:

步驟一:在前台checkbox中添加如下代碼:

就是添加AutoPostBack="True" OnCheckedChanged="TranChecked"兩個屬性。

1 <asp:CheckBox ID="chkSelect" AutoPostBack="True" OnCheckedChanged="TranChecked" runat="server"></asp:CheckBox></ItemTemplate>
View Code

在后台添加如下代碼:

1 protected void TranChecked(object sender, EventArgs e)
2         {
3                         。。。想要實現的功能
4 
5          }
View Code

通過上述兩步即可實現復選框checkbox事件。

以上功能,是本人在工作中需要實現的功能,通過不斷的嘗試最終成功實現,如果你有更好的方法或者我的實現存在問題,歡迎指教!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM