DataGrid编辑,删除问题
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid2" runat="server" GridLines="Horizontal" CellPadding="3" BackColor="White"
BorderWidth="1px" BorderStyle="None" BorderColor="#E7E7FF" AutoGenerateColumns="False" Height="24px"
Width="503px" OnDeleteCommand="DEDR_Delete" OnCancelCommand="DEDR_Cancel" OnUpdateCommand="DEDR_Update"
OnEditCommand="DEDR_Edit">
<SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#F7F7F7"></AlternatingItemStyle>
<ItemStyle ForeColor="#4A3C8C" BackColor="#E7E7FF"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#4A3C8C"></HeaderStyle>
<FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
<Columns>
<asp:TemplateColumn HeaderText="报名ID">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"报名ID")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="报名ID" Text='<%# DataBinder.Eval(Container.DataItem,"报名ID")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="姓名">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"姓名")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="姓名" Text='<%# DataBinder.Eval(Container.DataItem,"姓名")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="语文">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"语文")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="语文" Text='<%# DataBinder.Eval(Container.DataItem,"语文")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="数学">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"数学")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="数学" Text='<%# DataBinder.Eval(Container.DataItem,"数学")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="英语">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"英语")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="英语" Text='<%# DataBinder.Eval(Container.DataItem,"英语")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button CommandName="Edit" Text="编辑" Runat="server" ID="Button1"></asp:Button>
<asp:Button CommandName="Delete" Text="删除" Runat="server" ID="Button2"></asp:Button>
</ItemTemplate>
<EditItemTemplate>
<asp:Button CommandName="Cancel" Text="取消" Runat="server" ID="Button3"></asp:Button>
<asp:Button CommandName="Update" Text="更新" Runat="server" ID="Button4"></asp:Button>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Right" ForeColor="#4A3C8C" BackColor="#E7E7FF" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
<asp:button id="add" runat="server" Height="27px" Width="60px" Text="添加新项"
style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 200px"></asp:button>
</form>
以上的是data2.apsx文件
以下的是data2.apsx.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.SqlClient;
private void Page_Load(object sender, System.EventArgs e)
{
if(!(Page.IsPostBack))
{
DataGrid2.DataSource=LoadData();
DataGrid2.DataBind();
}// 在此处放置用户代码以初始化页面
}
private void add_Click(object sender, System.EventArgs e)
{
DataSet dataSet=LoadData();
DataRow newrow;
newrow=dataSet.Tables["Grade"].NewRow();
newrow["报名ID"]="";
newrow["姓名"]="";
newrow["语文"]="";
newrow["数学"]="";
newrow["英语"]="";
dataSet.Tables["Grade"].Rows.Add(newrow);
SqlDataAdapter objAdapter=new SqlDataAdapter();
SqlCommandBuilder objBuilder=new SqlCommandBuilder(objAdapter);
objAdapter.UpdateCommand=objBuilder.GetUpdateCommand();
objAdapter.DeleteCommand=objBuilder.GetDeleteCommand();
objAdapter.InsertCommand=objBuilder.GetInsertCommand();
objAdapter.Update(dataSet,"Grade");
DataGrid2.DataSource=LoadData();
DataGrid2.DataBind();
DataGrid2.EditItemIndex=DataGrid2.Items.Count-1;
DataGrid2.DataSource=LoadData();
DataGrid2.DataBind();
}
public DataSet LoadData()
{
string strConnection = "server=localhost;user id=sa;password=sa;";
strConnection += "initial catalog=universitysystem;";
SqlConnection objConnection = new SqlConnection(strConnection);
objConnection.Open();
string strSQL="select * from EntryExamGrade";
SqlDataAdapter objAdapter=new SqlDataAdapter(strSQL,objConnection);
DataSet objDataSet=new DataSet();
objAdapter.Fill(objDataSet,"Grade");
return objDataSet;
}
public void DEDR_Edit(object sender,DataGridCommandEventArgs e)
{
DataGrid2.EditItemIndex=Convert.ToInt32(e.Item.ItemIndex);
DataGrid2.DataSource=LoadData();
DataGrid2.DataBind();
}
public void DEDR_Update(object sender,DataGridCommandEventArgs e)
{
DataSet dataSet=LoadData();
int row=Convert.ToInt32(e.Item.ItemIndex);
TextBox EditText=null;
EditText=(TextBox)e.Item.FindControl("语文");
dataSet.Tables["Grade"].Rows[row]["语文"]=EditText.Text;
EditText=(TextBox)e.Item.FindControl("数学");
dataSet.Tables["Grade"].Rows[row]["数学"]=EditText.Text;
EditText=(TextBox)e.Item.FindControl("英语");
dataSet.Tables["Grade"].Rows[row]["英语"]=EditText.Text;
SqlDataAdapter objAdapter=new SqlDataAdapter();
SqlCommandBuilder objBuilder=new SqlCommandBuilder(objAdapter);
objAdapter.UpdateCommand=objBuilder.GetUpdateCommand();
objAdapter.DeleteCommand=objBuilder.GetDeleteCommand();
objAdapter.InsertCommand=objBuilder.GetInsertCommand();
objAdapter.Update(dataSet,"Grade");
DataGrid2.EditItemIndex=-1;
DataGrid2.DataSource=LoadData();
DataGrid2.DataBind();
}
public void DEDR_Cancel(object sender,DataGridCommandEventArgs e)
{
DataGrid2.EditItemIndex=-1;
DataGrid2.DataSource=LoadData();
DataGrid2.DataBind();
}
public void DEDR_Delete(object sender,DataGridCommandEventArgs e)
{
DataSet dataSet=LoadData();
int row=Convert.ToInt32(e.Item.ItemIndex);
dataSet.Tables["Grade"].Rows[row].Delete();
SqlDataAdapter objAdapter=new SqlDataAdapter();
SqlCommandBuilder objBuilder=new SqlCommandBuilder(objAdapter);
objAdapter.UpdateCommand=objBuilder.GetUpdateCommand();
objAdapter.DeleteCommand=objBuilder.GetDeleteCommand();
objAdapter.InsertCommand=objBuilder.GetInsertCommand();
objAdapter.Update(dataSet,"Grade");
DataGrid2.EditItemIndex=-1;
DataGrid2.DataSource=LoadData();
DataGrid2.DataBind();
}
}
程序是用VS.NET(C#)编的,但是运行时屏幕上什么都不显示,只单独显示了一个按钮,也没有提示错误,请各位高手帮忙看看,小弟谢谢了,100分送上,由于CSDN规定了长度,所以只贴了关键的地方出来