我记得好像是这么做的
在datagrid_itemCreated过程中找到模板列中的控件,如ctl
然后执行ctl.attributes.add("onclick","confirm('确定要删除吗?')")语法可能有错误,记不清楚了
在datagrid_itemCreated过程中找到模板列中的控件,如ctl
然后执行ctl.attributes.add("onclick","confirm('确定要删除吗?')")语法可能有错误,记不清楚了
解决方案 »
- 关于系统时间的问题
- asp.net中GridView里面的模板列的作用和使用能详细说一下么
- 如何在用户控件里面定义方法呢?也就是定义public方法,让别的调用到该控件也可以使用得到的方法。
- javascript脚本问题
- 初用asp.net,问个简单问题~~
- vs2008打包工具问题
- TextBox 问题??
- 在textbox中输入中文不能与数据库检查并在textbox返回是?,为什么会这样
- asp.net初学者请教。我有的是分。
- 为什么我保存的.htm文件中出现乱码?
- 谁有动态维护treeview的例子?
- 滚动显示的问题:我在页面上加上<marquee>,再加个按钮控件,点开始滚动,再点停止应该怎么写
这个试试
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %><script language="VB" runat="server">
dim MyConnection as OleDbConnection
dim cmdSelect as OleDbCommand
dim dtrReader as OleDbDataReader
Sub Page_load(sender as object,e as Eventargs)
MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\inetpub\wwwroot\nhonline\datagrid\datagrid.mdb")
if not IsPostBack() then Mydatagrid_DataBind() 'list all
end if
End SubSub Mydatagrid_DataBind()
Dim MyCommand As OleDbDataAdapter = new OleDbDataAdapter("select * from news order by id desc", MyConnection) Dim DS As DataSet = new DataSet()
MyCommand.Fill(DS, "news")
MyDataGrid.DataSource=DS.Tables("news").DefaultView
MyDataGrid.DataBind()
End Subsub Data_Del(obj as object, e as DataGridCommandEventArgs)
Dim MyCommand As OleDbCommand
Dim DeleteCmd As String = "DELETE from news where id = @Id" MyCommand = New OleDbCommand(DeleteCmd, MyConnection)
MyCommand.Parameters.Add(New OleDbParameter("@Id", OleDbType.VarChar, 11))
MyCommand.Parameters("@Id").Value = MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
MyCommand.Connection.Open()
MyCommand.ExecuteNonQuery()
MyCommand.Connection.Close() Mydatagrid_DataBind()
End sub Sub DataGrid_ItemCreated(Sender As Object, e As DataGridItemEventArgs) Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
Dim myTableCell As TableCell
myTableCell = e.Item.Cells(0)
Dim myDeleteButton As LinkButton
myDeleteButton = myTableCell.Controls(0)
myDeleteButton.Attributes.Add("onclick", _
"return confirm('Are you Sure you want to delete this recoders?');")
End Select
End Sub
</script>
<html>
<head>
<title>DropDownList.aspx</title>
<link rel="stylesheet" href="css.css" type="text/css">
</head>
<body>
<form Runat="server">
<ASP:DataGrid id="MyDataGrid" runat="server"
Width="100"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AutoGenerateColumns="true"
AllowPaging="false"
pageSize="2"
DataKeyField="id"
OnDeleteCommand="Data_Del"
OnItemCreated="DataGrid_ItemCreated"
>
<Columns>
<asp:ButtonColumn HeaderText="" text="Del" CommandName="Delete"/>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
----------------
<%@ Page language="c#" Codebehind="del2.aspx.cs" AutoEventWireup="false" Inherits="DataGrid_.del2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>DeleteIt2</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<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:Label id="Label1" runat="server"></asp:Label>
<asp:DataGrid id="myDataGrid" OnItemCreated="DataGrid_ItemCreated" runat="server" OnDeleteCommand="myDataGrid_Delete"
DataKeyField="lname" AutoGenerateColumns="False">
<Columns>
<asp:ButtonColumn CommandName="Delete" />
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "lname") %>' ID="Label2"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"hire_Date","{0:yyyy-M-d}") %>' ID="Label3"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</HTML>
==========================
cs
----------------
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.OleDb;namespace DataGrid_
{
/// <summary>
/// del2 的摘要说明。
/// </summary>
public class del2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DataGrid myDataGrid;
private void Page_Load(object sender, System.EventArgs e)
{
myDataGrid.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
myDataGrid.HeaderStyle.Font.Bold = true;
myDataGrid.HeaderStyle.BackColor = System.Drawing.Color.Ivory;
myDataGrid.Columns[0].HeaderText = "操作";
myDataGrid.Columns[1].HeaderText = "标题";
myDataGrid.Columns[2].HeaderText = "创建日期";
if (!IsPostBack)
{
string strCn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=localhost";
string strSql = "SELECT * from employee";
OleDbConnection cn = new OleDbConnection(strCn);
cn.Open();
OleDbCommand cmd = new OleDbCommand(strSql, cn);
myDataGrid.DataSource = cmd.ExecuteReader(CommandBehavior.CloseConnection);
myDataGrid.DataBind();
cmd.Dispose();
cmd = null;
cn.Close();
cn.Dispose();
cn = null;
}
} public void DataGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem)
{
TableCell myTableCell;
myTableCell = e.Item.Cells[0];
LinkButton myDeleteButton;
myDeleteButton = (LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除此行吗?');");
myDeleteButton.Text = "删除此行";
}
} public void myDataGrid_Delete(object Sender, DataGridCommandEventArgs e)
{
Label1.Text = "你要删除的是:<font color=red> " + myDataGrid.DataKeys[System.Convert.ToInt32(e.Item.ItemIndex)] + "</font>";
e.Item.BackColor = System.Drawing.Color.Tomato;
}
#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 }
}