节选自实际项目中的部分代码[ParseChildren(true)]
[PersistChildren(false)]
[ToolboxData("<{0}:GridViewPlus runat=server></{0}:GridViewPlus>")]
[ToolboxBitmap(typeof(GridView))]
public class GridViewPlus : GridView {
#region constructors
public GridViewPlus() : base() { }
public GridViewPlus(string pId) {
this.ID = MyHelper.ToString(pId);
}
#endregion constructors
public delegate void RowDblClickEventHandler(object sender, int RowIndex);
public event RowDblClickEventHandler RowDblClick;
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
this.Load_RowDblClickEventHandler();
}
protected virtual void OnRowDblClick(object sender, int RowIndex){
this.SelectedIndex = RowIndex;
}
private void Load_RowDblClickEventHandler() {
string _EventTarget = MyHelper.ToString(this.Page.Request.Params["__EVENTTARGET"]);
string[] _EventArguments = MyHelper.ToString(this.Page.Request.Params["__EVENTARGUMENT"]).Split('$');
string _EventName = MyHelper.ToString(_EventArguments[0]);
if(_EventTarget == this.ID && _EventName == "RowDblClick") {
int _index = MyHelper.ToInt(_EventArguments[1]);
this.RowDblClick(this, _index);
}
}
protected override void OnRowDataBound(GridViewRowEventArgs e) {
GridViewRow _row = e.Row;
string _index = MyHelper.ToString(_row.RowIndex);
string _arg = "RowDblClick$" + _index;
string _evt = this.Page.ClientScript.GetPostBackEventReference(this, _arg);
_row.Attributes.Add("ondblclick", _evt);
}
}//endclass
[PersistChildren(false)]
[ToolboxData("<{0}:GridViewPlus runat=server></{0}:GridViewPlus>")]
[ToolboxBitmap(typeof(GridView))]
public class GridViewPlus : GridView {
#region constructors
public GridViewPlus() : base() { }
public GridViewPlus(string pId) {
this.ID = MyHelper.ToString(pId);
}
#endregion constructors
public delegate void RowDblClickEventHandler(object sender, int RowIndex);
public event RowDblClickEventHandler RowDblClick;
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
this.Load_RowDblClickEventHandler();
}
protected virtual void OnRowDblClick(object sender, int RowIndex){
this.SelectedIndex = RowIndex;
}
private void Load_RowDblClickEventHandler() {
string _EventTarget = MyHelper.ToString(this.Page.Request.Params["__EVENTTARGET"]);
string[] _EventArguments = MyHelper.ToString(this.Page.Request.Params["__EVENTARGUMENT"]).Split('$');
string _EventName = MyHelper.ToString(_EventArguments[0]);
if(_EventTarget == this.ID && _EventName == "RowDblClick") {
int _index = MyHelper.ToInt(_EventArguments[1]);
this.RowDblClick(this, _index);
}
}
protected override void OnRowDataBound(GridViewRowEventArgs e) {
GridViewRow _row = e.Row;
string _index = MyHelper.ToString(_row.RowIndex);
string _arg = "RowDblClick$" + _index;
string _evt = this.Page.ClientScript.GetPostBackEventReference(this, _arg);
_row.Attributes.Add("ondblclick", _evt);
}
}//endclass
base.CreateView();
this.gvwQuery.RowDblClick += new GridViewPlus.RowDblClickEventHandler(gvwQuery_RowDblClick);
} void gvwQuery_RowDblClick(object sender, int RowIndex) {
JSHelper.Alert(MyHelper.ToString( this.gvwQuery.SelectedDataKey["ProductName1"]));
this.BindDetailView();
}
<head runat="server">
<title>无标题页</title>
</head>
<script language="javascript">
function yourfunction(obj){
for(var i=0;i<22;i++)
{
document.getElementById(i).style.backgroundColor="#400000";
}
document.getElementById(obj).style.backgroundColor="red";
}
function yourfunction2(obj){
alert(obj);
}
</script>
<body>
<form runat="server">
<div>
<asp:GridView runat="server" AutoGenerateColumns="False" DataKeyNames="au_id"
DataSourceID="SqlDataSource1" OnRowCreated="GridView1_RowDataBound" EnableSortingAndPagingCallbacks="True" >
<Columns>
<asp:BoundField DataField="au_id" HeaderText="au_id" ReadOnly="True" SortExpression="au_id" />
<asp:BoundField DataField="au_lname" HeaderText="au_lname" SortExpression="au_lname" />
<asp:BoundField DataField="au_fname" HeaderText="au_fname" SortExpression="au_fname" />
<asp:BoundField DataField="phone" HeaderText="phone" SortExpression="phone" />
<asp:BoundField DataField="address" HeaderText="address" SortExpression="address" />
<asp:BoundField DataField="city" HeaderText="city" SortExpression="city" />
<asp:BoundField DataField="state" HeaderText="state" SortExpression="state" />
<asp:BoundField DataField="zip" HeaderText="zip" SortExpression="zip" />
<asp:CheckBoxField DataField="contract" HeaderText="contract" SortExpression="contract" />
</Columns>
<SelectedRowStyle BackColor="#400000" BorderStyle="Double" />
</asp:GridView>
<asp:SqlDataSource runat="server" ConnectionString="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand="SELECT * FROM [authors]"></asp:SqlDataSource>
</div>
</form>
</body>
</html>
后台using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.SelectedIndex = 0;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i <= GridView1.Rows.Count; i++)
{
e.Row.Attributes.Add("onclick", "yourfunction(" +i+ ");");
e.Row.Attributes.Add("id",""+i+"");
e.Row.Attributes.Add("ondblclick", "yourfunction2(" + i + ");");
}
}
}
}
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i <= GridView1.Rows.Count; i++)
{
e.Row.Attributes.Add("onclick", "yourfunction(" +i+ ");");
e.Row.Attributes.Add("id",""+i+"");
e.Row.Attributes.Add("ondblclick", "yourfunction2(" + i + ");");
}
}
}
--------------------------------------------
这代码写的
这个是什么东西?
这个类是什么?怎么没人回答捏