Re: [問題] asp.net gridview選取多筆列後寫入新資 …

看板Web_Design作者 (朋友??)時間15年前 (2011/01/15 11:48), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
※ 引述《ganganx (埃阿)》之銘言: : 請問各位 : 有一個gridview資料來源為資料表A : gridview有一個template放checkbox : grid外有一按鈕 : 請問當選取2筆以上資料,並按下按鈕時 : 該如何讓它寫進資料庫呢(選幾筆資料就寫幾筆進資料庫) : 或是該查哪些關鍵字呢 : 謝謝 剛好最近寫的程式有用到相同功能,我是去找別人寫的checkbox function, 再加上後端button的動作按鈕,給你參考一下 前端程式 Gridview1 ..... <asp:TemplateField> <headertemplate> <asp:CheckBox ID="chkAll" runat="server" onclick="Check(this,'chkSelect')" Text="全選/取消" ToolTip="按一次全選,再按 一次取消全選" /> </headertemplate> <itemtemplate> <asp:CheckBox ID="chkSelect" runat="server" /> </itemtemplate> <HeaderStyle Width="80px" /> </asp:TemplateField> ....... checkbox 的javascript function <script type="text/javascript"> function Check(parentChk, ChildId) { var oElements = document.getElementsByTagName("INPUT"); var bIsChecked = parentChk.checked; for (i = 0; i < oElements.length; i++) { if (IsCheckBox(oElements[i]) && IsMatch(oElements[i].id, ChildId)) { oElements[i].checked = bIsChecked; } } } function IsMatch(id, ChildId) { var sPattern = '^GridView1.*' + ChildId + '$'; var oRegExp = new RegExp(sPattern); if (oRegExp.exec(id)) return true; else return false; } function IsCheckBox(chk) { if (chk.type == 'checkbox') return true; else return false; } </script> 後端動作按鈕 For i As Integer = 0 To GridView1.Rows.Count - 1 Dim cb As CheckBox = DirectCast(GridView1.Rows(i).FindControl("chkSelect"), CheckBox) If cb.Checked = True Then Dim SqlStr As String = "update xxx_file set xxx01 = '1'" Dim cmd As New SqlCommand(SqlStr, conn) cmd.ExecuteNonQuery() cmd.Dispose() End if Next -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.105.108.31

01/16 00:07, , 1F
謝謝回答 手上工作結束後馬上來試試
01/16 00:07, 1F

01/17 01:22, , 2F
成功了 程式寫在If cb.Checked = True Then裡 謝謝指導
01/17 01:22, 2F
文章代碼(AID): #1DCHaGN1 (Web_Design)