Re: [問題] asp.net gridview選取多筆列後寫入新資 …
※ 引述《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
01/17 01:22, 2F