1.页面上使用datagrid控件显示数据集,同时页面上有一html按钮控件,我想点先选中datagrid的某一行,然后点击这个按钮,在javascript中,把datagrid的这一行数据取出来。目前怎么点击任何一个地方选中某一行的问题已经解决,但怎么用javascript取数据呢?今天搞了一个晚上也没解决。
<%@ Page Language="c#" ContentType="text/html" CodeBehind="DataGrid.aspx.cs" AutoEventWireup="false" Inherits="study.DataGrid" %>
<HTML>
<HEAD>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<body>
<form name="form1" runat="server">
<asp:datagrid id="myDataGrid" runat="server" AutoGenerateColumns="False" HorizontalAlign="Center"
CellPadding="3" PageSize="20" AllowPaging="True" BorderColor="#999999">
<ItemStyle Height="20px"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" Height="25px"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="kc_id" HeaderText="id号"></asp:BoundColumn>
<asp:BoundColumn DataField="kc_sh" HeaderText="书号"></asp:BoundColumn>
<asp:BoundColumn DataField="kc_sm" HeaderText="书名"></asp:BoundColumn>
<asp:BoundColumn DataField="kc_cbs" HeaderText="出版社"></asp:BoundColumn>
<asp:BoundColumn DataField="kc_jg" HeaderText="价格" DataFormatString="{0:c2}"></asp:BoundColumn>
</Columns>
<PagerStyle NextPageText="2" PrevPageText="1" Mode="NumericPages"></PagerStyle>
</asp:datagrid></form>
</body>
</HTML>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;
namespace study
{
/// <summary>
/// DataGrid 的摘要说明。
/// </summary>
public class DataGrid : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid myDataGrid;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
Data_Load();
}
// 在此处放置用户代码以初始化页面
}
private void Data_Load()
{
string conn1=ConfigurationSettings.AppSettings["con"];
string sql="select top 500 kc_id,kc_sh,kc_sm,kc_cbs,kc_jg from kc";
SqlConnection conn=new SqlConnection(conn1);
SqlDataAdapter kc=new SqlDataAdapter(sql,conn);
conn.Open();
DataSet rs=new DataSet();
kc.Fill(rs);
myDataGrid.DataSource=rs;
myDataGrid.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.myDataGrid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.myDataGrid_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void myDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemIndex>=0)
e.Item.Attributes["onmouseover"]="this.bgColor=CCCCCC";
e.Item.Attributes["onmouseout"]="this.bgColor=white";
e.Item.Attributes["onclick"]="alert("+e.Item.Cells[2].Text.ToString()+" )";
}
}
}