利用DataGrid编辑、修改、删除记录---孟子E章

博客给出利用DataGrid编辑、修改、删除记录的方法,还提及数据库aa中表people的相关文件People.sql和EditDataGridCS.aspx。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面的这个例子提供了利用DataGrid编辑、修改、删除记录的方法,数据库字段名称和类型如下。

数据库aa中表 people:People.sql

if exists (select * from dbo.sysobjects where 
id = object_id(N'[dbo].[People]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[People]
GO

CREATE TABLE [dbo].[People] (
	[pkID] [int] IDENTITY (1, 1) NOT NULL ,
	[FirstName] [char] (100) COLLATE Chinese_PRC_CI_AS NULL ,
	[LastName] [char] (100) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO

EditDataGridCS.aspx




<script runat="server">

//make first sql 
String sql = "";
String strCnn = "Data Source=.;Initial Catalog=aa;User Id=sa;Password=;";
//create a datasource function
public ICollection CreateDataSource () {
SqlConnection conn = new SqlConnection(strCnn);

SqlDataAdapter db_sqladaptor = new SqlDataAdapter(sql,conn);

DataSet ds = new DataSet();
db_sqladaptor.Fill(ds,"MyDataResult");

DataView myView = ds.Tables["MyDataResult"].DefaultView;
return myView;
}


//do page load

public void Page_Load(Object sender, EventArgs e) {
strCnn = "Data Source=.;Initial Catalog=aa;User Id=sa;Password=;";

if (!IsPostBack) 
{
sql = "Select * FROM People";		
People.DataSource = CreateDataSource();
People.DataBind();
}

}		

public void Page_Grid(Object sender, DataGridPageChangedEventArgs e) 
{
sql = "Select * FROM People";	
// Set CurrentPageIndex to the page the user clicked.
People.CurrentPageIndex = e.NewPageIndex;

// Rebind the data. 
People.DataSource = CreateDataSource();
People.DataBind();

}

public void People_Edit(Object sender, DataGridCommandEventArgs e) 
{
sql = "Select * FROM People";	

People.EditItemIndex = e.Item.ItemIndex;
People.DataSource = CreateDataSource();
People.DataBind();

}

public void People_Cancel(Object sender, DataGridCommandEventArgs e) 
{
sql = "Select * FROM People";	
People.EditItemIndex = -1;
People.DataSource = CreateDataSource();
People.DataBind();

}

public void People_Update(Object sender, DataGridCommandEventArgs e) 
{
string FirstName = ((TextBox)e.Item.Cells[1].Controls[1]).Text;
string LastName = ((TextBox)e.Item.Cells[2].Controls[1]).Text;

SqlConnection connUpdate = new SqlConnection(strCnn);
connUpdate.Open();
String sql_edit = "UPDATE People " +
"SET FirstName = '" + FirstName.Replace("'","''")+ "'," +
"LastName = '" + LastName.Replace("'","''")+ "'" +
" WHERE pkID = " + e.Item.Cells[0].Text;

SqlCommand sqlCommandUpdate = new SqlCommand(sql_edit,connUpdate);
sqlCommandUpdate.ExecuteNonQuery();
connUpdate.Close();

sql =  "Select * FROM People";
People.EditItemIndex = -1;
People.DataSource = CreateDataSource();
People.DataBind();

}

public void People_Delete(Object sender, DataGridCommandEventArgs e) {

SqlConnection connDel = new SqlConnection(strCnn);
connDel.Open();
String sql_Del = "DELETE FROM People " +
" WHERE pkID = " + e.Item.Cells[0].Text;

SqlCommand sqlCommandDel = new SqlCommand(sql_Del,connDel);
sqlCommandDel.ExecuteNonQuery();
connDel.Close();

sql =  "Select * FROM People";
People.EditItemIndex = -1;
People.DataSource = CreateDataSource();
People.DataBind();

}

</script>

<font face="arial" size="3">
<b>Edit People</b>
</font>
<br>

<form runat="server">

<asp:DataGrid id="People" runat="server"
BorderColor="green" 
Width="640" 
PageSize="5" 
AllowPaging="true" 
OnPageIndexChanged="Page_Grid" 
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
ShowHeader="true" 
Visible="true" 

OnEditCommand="People_Edit" 
OnCancelCommand="People_Cancel" 
OnUpdateCommand="People_Update" 
OnDeleteCommand="People_Delete">

<HeaderStyle BorderColor="White" BackColor="black" 
ForeColor="White" 
Font-Bold="True" 
Font-Name="Arial" 
Font-Size="9" HorizontalAlign="Center"/>

<ItemStyle   BorderColor="" 
BackColor="#FFFFF0" 
ForeColor="Black" 
Font-Name="Arial" 
Font-Size="8" 
Font-Bold="False" HorizontalAlign="Center"/>

<EditItemStyle   BorderColor="" 
BackColor="#FFFFF0" 
ForeColor="Black" 
Font-Name="Arial" 
Font-Size="7" 
Font-Bold="False" HorizontalAlign="Center"/>

<PagerStyle Mode="NumericPages" Font-Size="8"/>

<Columns>

<asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="pkID"/>

<asp:TemplateColumn>

<HeaderTemplate>
<b> First Name </b>
</HeaderTemplate>

<ItemTemplate>
<asp:Label
Text=''
runat="server"/>
</ItemTemplate>


<EditItemTemplate>
<asp:TextBox id="FirstName" Text='
' 
runat="server" Width="100%"/>
</EditItemTemplate>

</asp:TemplateColumn>

<asp:TemplateColumn>

<HeaderTemplate>
<b> Last Name </b>
</HeaderTemplate>

<ItemTemplate>
<asp:Label 
Width="200" 
Text='' 
runat="server"/>
</ItemTemplate>

<EditItemTemplate>
<asp:TextBox id="LastName" Text='<br>
' 
runat="server" Width="100%"/>
</EditItemTemplate>

</asp:TemplateColumn>

<asp:EditCommandColumn
ButtonType="LinkButton"
CancelText="Cancel"
EditText="Edit"
UpdateText="Update" />

<asp:ButtonColumn Text= "Delete" CommandName="Delete"></asp:ButtonColumn> 

</Columns>

</asp:DataGrid>

</form>
 
 :51:07
 



  
  
    新闻管理系统
    
 
       
        AllowPaging="True"       
    PagerStyle-Visible="false" 
PageSize="10"  
OnPageIndexChanged="change_page"  
    runat="server" 
    Width="550"
    GridLines="None"
    ShowFooter="false" 
    CellPadding="2"
    CellSpacing="1"
    Font-Name="宋体"
    Font-Size="8pt" 
    EnableViewState="false"
    AutoGenerateColumns="false" 
DataKeyField="id" 
    OnDeleteCommand="Mylist_Delete">
 
 
                          HeaderText=""    
                DataNavigateUrlField="id"    
                DataNavigateUrlFormatString="newsedit.aspx?id={0}"    
                DataTextField="标题"    
                 >
     
     


    


     
共有条记录      
当前为/页

" target="manage frame">添加新闻
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值