//获得包含CheckBoox的DataGrid(id为dgname)中CheckBox被选中的那一行的哪一列(valuecolumnindex)的值
function getSelectIndex( dgname,valuecolumnindex )
{
var col;
var obj;
var index;
col=document.all.tags("input");
obj=document.all.item("dgname");
index=0;
谢谢兄弟们问题解决了!大家可以参考。
具体如下:
==============================================================
<script language=javascript>
function getSelectIndex()
{
var col;
var obj;
col=document.all.tags("input");
obj=document.all.item("dgGW");
CS:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebApplication1
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
在datagrid中增加一个模板列,并在模板列放一个checkbox控件和一个button,设置该button控件的commandname:chk
然后下面是代码,如果按了button按钮时循环判定checkbox是否选中,如果选中在该行数据库中的一个字段改为ture,否则为false
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
If e.CommandName = "chk" Then
Dim chk As CheckBox
Dim i As Integer
For i = 0 To DataGrid1.Items.Count - 1
Dim j As Integer
j = (DataGrid1.CurrentPageIndex * 10) + i
chk = DataGrid1.Items(i).Cells(6).FindControl("checkbox1")
Dim ds1 As DataSet = New DataSet()
Dim sql As String
If tol = False Then
sql = "select * from guest"
Else
sql = "select * from guest where pdclass='" & DropDownList1.SelectedItem.Text & "' and pdname like '%" & TextBox1.Text & "%'"
End If
adocmd = New OleDbDataAdapter(sql, sqlprov)
adocmd.Fill(ds1, "guest")
mytable = ds1.Tables.Item(0)
mytable.GetChanges()
Dim row As DataRow = mytable.Rows.Item(j)
System.Diagnostics.Debug.Write(chk.Checked)
If chk.Checked = True Then
row.Item(10) = "true"
Else
row.Item(10) = "false"
End If
cmd = New OleDbCommandBuilder(adocmd)
adocmd.Update(ds1, "guest")
Next
Response.Redirect("temp.aspx?caption=推荐")
End If
end sub
'''循环判定的函数
Private Sub chkfind() ' 显示datagrid checkbox 模板列数据
Dim i, j As Integer
Dim sqlconn As String
Dim ds As DataSet = New DataSet()
Dim chk As CheckBox
For i = 0 To DataGrid1.Items.Count - 1
j = (DataGrid1.CurrentPageIndex * 10) + i
If tol = False Then
sqlconn = "select * from guest"
Else
sqlconn = "select * from guest where pdclass='" & DropDownList1.SelectedItem.Text & "' and pdname like '%" & TextBox1.Text & "%'"
End If
adocmd = New OleDbDataAdapter(sqlconn, sqlprov)
adocmd.Fill(ds, "guest")
mytable = ds.Tables.Item(0)
Dim row As DataRow = mytable.Rows.Item(j)
chk = DataGrid1.Items(i).Cells(6).FindControl("checkbox1")
If row.Item(10) = True Then
chk.Checked = True
Else
chk.Checked = False
End If
Next
End Sub