ASP.NET GridView中,想要点击单元格,然后弹出新窗口。
求助各位大侠们!!!谢谢啦!!!!
我的gridview定义是这样子的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
namespace GridViewCodeBehind
{
public partial class WebForm1 : System.Web.UI.Page
{
GridView gv = new GridView();
protected void Page_Load(object sender, EventArgs e)
{
div1.Controls.Add(gv);
List<Persons> persons = new List<Persons>();
gv.AutoGenerateColumns = false;
BoundField bd3 = new BoundField();
bd3.DataField = "SEX"; //列名
bd3.HeaderText = "Sex"; //列名显示的名称
gv.Columns.Add(bd3);
BoundField bd2 = new BoundField();
bd2.DataField = "AGE";
bd2.HeaderText = "Age";
gv.Columns.Add(bd2);
BoundField bd1 = new BoundField();
bd1.DataField = "NAME";
bd1.HeaderText = "Name";
gv.Columns.Add(bd1);
string conStr = "Provider=OraOLEDB.Oracle;Data Source=orcl10g;User ID=fact;Password=fact;Unicode=True";
using (OleDbConnection cn = new OleDbConnection(conStr))
{
cn.Open();
string strSQL = "select * from F_PAT_CLINIC_4 where rownum<21";
using (OleDbCommand cmd = new OleDbCommand(strSQL, cn))
{
using (OleDbDataReader odr = cmd.ExecuteReader())
{
int i1 = odr.GetOrdinal("NAME");
int i2 = odr.GetOrdinal("AGE");
int i3 = odr.GetOrdinal("SEX");
while (odr.Read())
{
Persons person = new Persons();
person.Name = odr.GetValue(i1).ToString();
person.Age = Convert.ToInt32(odr.GetValue(i2));
person.Sex = odr.GetValue(i3).ToString();
persons.Add(person);
}
}
}
}
gv.DataSource = persons;
gv.DataBind();
}
我想加一个事件,在点击Name的单元格时,可以弹出一个窗口,窗口显示的是Name的ID,
网上搜到的结果都是用JS实现,请问有不用JS实现的办法吗? --------------------编程问答--------------------
那你自己封装一个控件。所谓不用js的方式,其实就是你不用亲自写js的方式,你要记住,浏览器可不认识C#,只认识js。
补充:.NET技术 , ASP.NET