郁闷死了,这个怎么点击"编辑"按钮没反应?????
要怎么设置EditCommandColumn??要如何修改CS代码???这是ASPX文件:<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplicationCSharp.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<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:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 24px" runat="server"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4"
AutoGenerateColumns="False" DataKeyField="CTNO">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" HeaderText="编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
<asp:BoundColumn DataField="ctno" HeaderText="诚腾编号"></asp:BoundColumn>
<asp:BoundColumn DataField="name" HeaderText="品名"></asp:BoundColumn>
<asp:BoundColumn DataField="CAVITYNO" HeaderText="穴数"></asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>
这是CS代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
BindGridToSource();
}
} private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
BindGridToSource();
} private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = -1;
BindGridToSource();
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
OracleConnection conn=new OracleConnection("Data Source=wk;user id=wk;password=yourpassword");
string UpdateCmd = "UPDATE mould set NAME=:NAME,CAVITYNO=:CAVITYNO where ctno=:CTNO";
OracleCommand MyCommand=new OracleCommand(UpdateCmd,conn); MyCommand.Parameters.Add(new OracleParameter("CTNO", OracleType.Int32));
MyCommand.Parameters.Add(new OracleParameter("NAME", OracleType.VarChar, 50));
MyCommand.Parameters.Add(new OracleParameter("CAVITYNO", OracleType.VarChar, 20));
MyCommand.Parameters["CTNO"].Value = DataGrid1.DataKeys[e.Item.ItemIndex];
string[] Cols = new string[] {"CTNO", "NAME", "CAVITYNO"};
// 取得 TableCell 物件的数目,也就是每一数据列之储存格的数目(等於 DataGrid 伺服器控制项中数据行的数目)
int NumCols = e.Item.Cells.Count;
// 略过第一栏与第二栏。因为第一栏是按钮,第二栏已在之前取得。
for (int i = 2; i<= NumCols - 1; i++)
{
TextBox CurrentTextBox = (TextBox)e.Item.Cells[i].Controls[0];
string ColValue = CurrentTextBox.Text;
MyCommand.Parameters[Cols[i - 1]].Value = ColValue;
} // 开启连接
MyCommand.Connection.Open();
MyCommand.ExecuteNonQuery();
DataGrid1.EditItemIndex = -1;
MyCommand.Connection.Close();
BindGridToSource();
}
private void BindGridToSource()
{
OracleConnection conn=new OracleConnection("Data Source=wk;user id=wk;password=yourpassword");
string mySelectQuery = "SELECT CTNO,NAME,CAVITYNO FROM mould";
OracleDataAdapter myCommand = new OracleDataAdapter(mySelectQuery,conn);
DataSet ds = new DataSet();
myCommand.Fill(ds, "mould");
DataGrid1.DataSource = ds.Tables["mould"].DefaultView;
DataGrid1.DataBind();
}
要怎么设置EditCommandColumn??要如何修改CS代码???这是ASPX文件:<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplicationCSharp.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<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:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 24px" runat="server"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4"
AutoGenerateColumns="False" DataKeyField="CTNO">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" HeaderText="编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
<asp:BoundColumn DataField="ctno" HeaderText="诚腾编号"></asp:BoundColumn>
<asp:BoundColumn DataField="name" HeaderText="品名"></asp:BoundColumn>
<asp:BoundColumn DataField="CAVITYNO" HeaderText="穴数"></asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>
这是CS代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
BindGridToSource();
}
} private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
BindGridToSource();
} private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = -1;
BindGridToSource();
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
OracleConnection conn=new OracleConnection("Data Source=wk;user id=wk;password=yourpassword");
string UpdateCmd = "UPDATE mould set NAME=:NAME,CAVITYNO=:CAVITYNO where ctno=:CTNO";
OracleCommand MyCommand=new OracleCommand(UpdateCmd,conn); MyCommand.Parameters.Add(new OracleParameter("CTNO", OracleType.Int32));
MyCommand.Parameters.Add(new OracleParameter("NAME", OracleType.VarChar, 50));
MyCommand.Parameters.Add(new OracleParameter("CAVITYNO", OracleType.VarChar, 20));
MyCommand.Parameters["CTNO"].Value = DataGrid1.DataKeys[e.Item.ItemIndex];
string[] Cols = new string[] {"CTNO", "NAME", "CAVITYNO"};
// 取得 TableCell 物件的数目,也就是每一数据列之储存格的数目(等於 DataGrid 伺服器控制项中数据行的数目)
int NumCols = e.Item.Cells.Count;
// 略过第一栏与第二栏。因为第一栏是按钮,第二栏已在之前取得。
for (int i = 2; i<= NumCols - 1; i++)
{
TextBox CurrentTextBox = (TextBox)e.Item.Cells[i].Controls[0];
string ColValue = CurrentTextBox.Text;
MyCommand.Parameters[Cols[i - 1]].Value = ColValue;
} // 开启连接
MyCommand.Connection.Open();
MyCommand.ExecuteNonQuery();
DataGrid1.EditItemIndex = -1;
MyCommand.Connection.Close();
BindGridToSource();
}
private void BindGridToSource()
{
OracleConnection conn=new OracleConnection("Data Source=wk;user id=wk;password=yourpassword");
string mySelectQuery = "SELECT CTNO,NAME,CAVITYNO FROM mould";
OracleDataAdapter myCommand = new OracleDataAdapter(mySelectQuery,conn);
DataSet ds = new DataSet();
myCommand.Fill(ds, "mould");
DataGrid1.DataSource = ds.Tables["mould"].DefaultView;
DataGrid1.DataBind();
}
解决方案 »
- 关于自定web用户控件的问题,高手帮帮忙啊~~
- 过年了,分享我刚刚学的一些验证字符串方法,全角半角,数字,汉字,生命周期,控件使用等等
- 新手VS2005连接sqlserver2005方法。。急!!
- 跪求“基于表单form的验证”例子
- 超过2M的字符串用什么数据类型比较好?
- asp.net 无法调试
- 如何对DataList控件中的<ItemTemplate>中的项赋值.
- 求助asp CheckBox 传值问题
- 运行时代码时提示出错:已有打开的与此连接相关联的 DataReader,必须首先将它关闭。
- 关于ASP.net的本机调试问题
- ASPX文件中<script src="src.txt" language="javascript"></script> 运行时所有中文变乱码
- 这段绑定语句怎么改????
http://singlepine.cnblogs.com/articles/266538.html
把
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 24px" runat="server" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False" DataKeyField="CTNO">
改为
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 24px" runat="server" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False" DataKeyField="CTNO"
OnEditCommand="DataGrid1_EditCommand" OnCancelCommand="DataGrid1_CancelCommand" OnUpdateCommand="DataGrid1_UpdateCommand"
>
1. *.aspx页面中代码
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="編輯">
<HeaderStyle ></HeaderStyle>
</asp:EditCommandColumn>
<asp:ButtonColumn Text="刪除" CommandName="delete">
<HeaderStyle ></HeaderStyle>
</asp:ButtonColumn>2. *.cs中的代码
private void grdSellGoods_UpdateCommand(object source, DataGridCommandEventArgs e)
{
}private void grdSellGoods_CancelCommand(object source, DataGridCommandEventArgs e)
{
this.grdSellGoods.EditItemIndex = -1;
this.FromViewStateBind();
}private void grdSellGoods_EditCommand(object source, DataGridCommandEventArgs e)
{
this.grdSellGoods.EditItemIndex = e.Item.ItemIndex;
this.FromViewStateBind();
}private void grdSellGoods_DeleteCommand(object source, DataGridCommandEventArgs e)
{
int index = e.ItemIndex; //取得行数
... //删除事件代码
}