http://www.csdn.net/Develop/read_article.asp?id=15113
解决方案 »
- 在IIS下发布网站,如何设置网站的首页
- asp.net向access数据库插入数据时的错误~~~
- 怎么在动态生成的图片路径前加字符串
- 在asp.net+c#的环境下,如何实现套打?
- 请问如果使用Microsoft SQL Server Compact就可以用没有SQL服务器的主机么?
- list.aspx?id=1的id=1是什么意思?谢谢
- datalist中的item项都要自动换行,我想不换行只用空格隔开
- 一个问题,大家看看
- [馨郁星愿]怎么利用程序把页面文件htm格式内容转为doc内容!
- 新手问题!如何在ASP.net程序里实现messagebox功能.(C#)
- datagride问题的列宽
- 继续很郁闷,从开一贴继续讨论
上面是思路
然后下面是代码,如果按了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
function getSelectIndex()
{
var col;
col=document.all.tags("input");
for( i=0;i<col.length;i++ )
{
if( col[i].getAttribute("type")=="checkbox" && col[i].getAttribute("id").search("/yourDataGridID/i")>-1 )
{
if(col[i].getAttribute("checked")==true)
{//被选中了。。}
}
}
}
</Script>
var xmlStr = "";
var nocheck = false;
if(len>1)
{
for(var i=0;i<len;i++){
if(document.DataMgr["grid__ctl"+(3+i)+"_chkItem"].checked)
{
nocheck = true;
xmlStr += "<DATAID>"+document.DataMgr["grid__ctl"+(3+i)+"_chkItem"].value+"</DATAID>";
}
}
}
else
{
if(document.DataMgr["grid__ctl3.chkItem"].checked)
{
nocheck = true;
xmlStr += "<DATAID>"+document.DataMgr["grid__ctl3_chkItem"].value+"</DATAID>";
}
}
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: 8px" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="编号">
<ItemTemplate>
<a href="javascript:window.showModalDialog('WebForm2.aspx?value=<%# DataBinder.Eval(Container, "DataItem.title_id") %>', window,'');">
<asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.title_id") %>'>
</asp:Label>
</a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</HTML>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;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//if (!this.IsPostBack)
//{
SqlConnection sc=new SqlConnection("server=localhost;database=pubs;uid=zxy;pwd=zxy");
SqlDataAdapter sp=new SqlDataAdapter("select title_id from titles",sc);
DataSet ds=new DataSet();
sp.Fill(ds,"titles");
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind(); //}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
WebForm2中只接收传过来的值(在Page_Load中):
TextBox1.Text=this.Request.QueryString["value"];
再请问我如何在客户端获取DATAGRID某行的某列的值?
<script language="JavaScript">
function getSelectIndex()
{
var returnvalue;
var col;
var txtid;
col=document.all.tags("input");
for( i=0;i<col.length;i++ )
{
if( col[i].getAttribute("type")=="checkbox" && col[i].getAttribute("id").search("/yourDataGridID/i")>-1 )
{
if(col[i].getAttribute("checked")==true)
{
txtid=col[i].getAttribute("id").replace("/checkbox/g","textbox");
//选中的值
if(returnvalue!=null)
returnvalue=returnvalue+"&"+txtid+"="+document.all.item(txtid).value;
else
returnvalue="?"+txtid+"="+document.all.item(txtid).value;}
}
}
return returnvalue;
}
</Script>//使用
onclick="javascript:window.showModalDialog('test.aspx'+getSelectIndex());"
txtid=col[i].getAttribute("id").replace("/checkbox/g","textbox");
txtid=col[i].getAttribute("id").replace("/checkbox/g","textbox");
这句话是什么意思?
为什么要这样做?
具体如下:
==============================================================
<script language=javascript>
function getSelectIndex()
{
var col;
var obj;
col=document.all.tags("input");
obj=document.all.item("dgGW");
for( i=0;i<col.length;i++ ){
if( col[i].getAttribute("type")=="checkbox" && col[i].getAttribute("id").search(/dgGW/i)>-1 )
{
if(col[i].getAttribute("checked")==true){
alert(i-4);
alert(obj.rows[i-4].cells[1].innerText);
}
}
}
}
</script>
==============================================================
在此感谢各位的支持。如果愿意的话,大家是否可以在此贴留下您的QQ,以方便联系
alert(i-4);根据上述办法,我们就可以做出不刷新页面的修改对话框,在客户端对页面进行控制,提高了性能,减少了页面。不知大家的意见是否一致?我已经试过了。很方便实现。我做好后会把代码再次贴出来的!!
再次感谢各位
function getSelectIndex( dgname,valuecolumnindex )
{
var col;
var obj;
var index;
col=document.all.tags("input");
obj=document.all.item("dgname");
index=0; for( i=0;i<col.length;i++ ){
if( col[i].getAttribute("type")=="checkbox" && col[i].getAttribute("id").search(/dgname/i)>-1 ){
if(col[i].getAttribute("checked")==true){
alert(obj.rows[index].cells[valuecolumnindex].innerText);
}
index++;
}
}
}
=============================================================
我没QQ,MSN:[email protected]