private void DataList1_UpdateCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)e.Item.ItemIndex就是所选的行,是个数字,从0开始
解决方案 »
- tab页跳转
- 急急急!做文件上传,调用OnClientClick后不执行OnClick事件了
- 想问下程序调用outlook发送邮件的问题.
- 请教:关于水晶报表,HELP^^^^^^^^
- 初学者问:服务器上装有了这个软件,局域网的其它机器不用安装就可访问??恳请大家赐教!!
- 新浪图片浏览是怎么做出来的
- 救命呀!!asp:table控件问题!!!
- 系统从2000升级到2003。为什么在2003下asp页面无法访问。我做了一个简单的default.html页面,建了一个虚拟目录指向了这个文件夹,可是如
- 大伙看看,水晶报表的老问题了。。。。。。
- ASP.NET MVC异步测试数据库链接
- 在ASP.NET中使用模仿权限的问题。
- 在ASP里面中session数组
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.OleDb" %>
<Script Language="C#" Runat="Server">
OleDbConnection MyConn;
public void Page_Load(Object src,EventArgs e)
{
//连接语句
string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"..\\DataBase\\db1.mdb;";
MyConn = new OleDbConnection(MyConnString);
MyConn.Open(); if(!Page.IsPostBack)
{
BindGrid();
}
}
ICollection CreateTable()
{
string strSel = "select * from Score";
DataSet ds = new DataSet(); OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,"Score"); return ds.Tables["Score"].DefaultView;
}
public void BindGrid()
{
score.DataSource = CreateTable();
score.DataBind();
}//处理Edit命令
public void DataGrid_EditCommand(Object sender,DataGridCommandEventArgs e)
{
score.EditItemIndex = (int)e.Item.ItemIndex;
BindGrid();
}//处理Cancel命令
public void DataGrid_CancelCommand(Object sender,DataGridCommandEventArgs e)
{
score.EditItemIndex = -1;
BindGrid();
}//处理Update命令
public void DataGrid_UpdateCommand(Object sender,DataGridCommandEventArgs e)
{
//更新数据库中的信息
string strName = e.Item.Cells[1].Text;
int intChinese = Int32.Parse(((TextBox)e.Item.Cells[2].Controls[0]).Text);
int intMath = Int32.Parse(((TextBox)e.Item.Cells[3].Controls[0]).Text);
int intEnglish = Int32.Parse(((TextBox)e.Item.Cells[4].Controls[0]).Text); //更新数据库中的数据
string strUpdate = "Update Score Set Chinese="+intChinese+",Math="+intMath+",English="+intEnglish+" Where Name='"+strName+"'";
OleDbCommand MyComm = new OleDbCommand(strUpdate,MyConn);
MyComm.ExecuteNonQuery();
score.EditItemIndex = -1;
BindGrid();}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
<center>
<b>演示EditCommandColumn</b>
<asp:DataGrid id="score" runat="server"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
AutoGenerateColumns="False"
OnEditCommand="DataGrid_EditCommand"
OnUpdateCommand="DataGrid_UpdateCommand"
OnCancelCommand="DataGrid_CancelCommand"
>
<Columns>
<asp:EditCommandColumn HeaderText="操作区"
EditText="编辑"
UpdateText="更新"
CancelText="取消"
ButtonType="PushButton"
/>
<asp:BoundColumn HeaderText="姓名" DataField="Name" ReadOnly="True" />
<asp:BoundColumn HeaderText="语文" DataField="Chinese" />
<asp:BoundColumn HeaderText="数学" DataField="Math" />
<asp:BoundColumn HeaderText="英语" DataField="English" />
</Columns>
</asp:DataGrid>
</center>
</form>
</body>
</html>
<script language="C#" runat="server"> DataTable Cart = new DataTable();
DataView CartView; void Page_Load(Object sender, EventArgs e)
{
DataRow dr; if (Session["ShoppingCart"] == null)
{ Cart.Columns.Add(new DataColumn("Qty", typeof(String)));
Cart.Columns.Add(new DataColumn("Item", typeof(String)));
Cart.Columns.Add(new DataColumn("Price", typeof(String)));
Session["ShoppingCart"] = Cart;
// Create sample data.
for (int i = 1; i <= 4; i++)
{
dr = Cart.NewRow();
if (i % 2 != 0)
dr[0] = "2";
else
dr[0] = "1";
dr[1] = "Item " + i.ToString();
dr[2] = (1.23 * (i + 1)).ToString();
Cart.Rows.Add(dr);
}
}
else
Cart = (DataTable)Session["ShoppingCart"]; CartView = new DataView(Cart);
CartView.Sort="Item"; if (!IsPostBack)
BindGrid();
} void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs e)
{
MyDataGrid.EditItemIndex = e.Item.ItemIndex;
BindGrid();
} void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs e)
{
MyDataGrid.EditItemIndex = -1;
BindGrid();
} void MyDataGrid_Update(Object sender, DataGridCommandEventArgs e)
{
// For bound columns, the edited value is stored in a TextBox.
// The TextBox is the 0th element in the column's cell.
TextBox qtyText = (TextBox)e.Item.Cells[2].Controls[0];
TextBox priceText = (TextBox)e.Item.Cells[3].Controls[0]; String item = e.Item.Cells[1].Text;
String qty = qtyText.Text;
String price = priceText.Text;
DataRow dr; // With a database, use an update command to update the data. Because
// the data source in this example is an in-memory DataTable, delete the
// old row and replace it with a new one. // Remove old entry.
CartView.RowFilter = "Item='" + item + "'";
if (CartView.Count > 0)
CartView.Delete(0);
CartView.RowFilter = ""; // Add new entry.
dr = Cart.NewRow();
dr[0] = qty;
dr[1] = item;
dr[2] = price;
Cart.Rows.Add(dr); MyDataGrid.EditItemIndex = -1;
BindGrid();
} void BindGrid()
{
MyDataGrid.DataSource = CartView;
MyDataGrid.DataBind();
}</script><body> <form runat="server"> <h3>EditCommandColumn Example</h3> <asp:DataGrid id="MyDataGrid" runat="server"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
OnEditCommand="MyDataGrid_Edit"
OnCancelCommand="MyDataGrid_Cancel"
OnUpdateCommand="MyDataGrid_Update"
AutoGenerateColumns="false"> <Columns> <asp:EditCommandColumn
EditText="Edit"
CancelText="Cancel"
UpdateText="Update"
ItemStyle-Wrap="false"
HeaderText="Edit Command Column"
HeaderStyle-Wrap="false"/> <asp:BoundColumn HeaderText="Item"
ReadOnly="true"
DataField="Item"/> <asp:BoundColumn HeaderText="Quantity"
DataField="Qty"/> <asp:BoundColumn HeaderText="Price"
DataField="Price"/> </Columns> </asp:DataGrid> </form></body>
</html>