coollion  
永远都不要指望明天!

注意的是PAGELOAD时要用 if(!Page.IsPostBack)
   {
    BindDataGrid("select * from 学生档案","学号");
   }
否则不能取得DATAGRID修改后的值。

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;

namespace test
{
    
/// <summary>
    
/// DataGrid 的摘要说明。
    
/// </summary>

    public class DataGrid : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.DataGrid DataGrid1;
    
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
if(!Page.IsPostBack)
            
{
                BindDataGrid(
"select * from 学生档案","学号");
            }

            
// 在此处放置用户代码以初始化页面
        }

        
public void BindDataGrid(string strSql,string dataKey)
        
{
            
this.DataGrid1.DataSource=GetData(strSql);
            
this.DataGrid1.DataKeyField=dataKey;
            
this.DataGrid1.DataBind();
        }

        
public DataSet GetData(string strSql)
        
{
            SqlConnection s
=new SqlConnection("server=(local);uid=sa;pwd=;database=test");
            SqlDataAdapter sd
=new SqlDataAdapter(strSql,s);
            DataSet ds
=new DataSet();
            s.Open();
            sd.Fill(ds);
            s.Close();
            
return ds;
        }

        
public void Update(string strSql)
        
{
            
try
            
{
                SqlConnection s
=new SqlConnection("server=(local);uid=sa;pwd=;database=test");
                SqlCommand sc
=new SqlCommand(strSql,s);
                s.Open();
                sc.ExecuteNonQuery();
                s.Close();
            }

            
catch(Exception ex)
            
{
                Response.Write(
"<script>alert('"+ex.ToString()+"');</script>");
            }

        }

        
Web 窗体设计器生成的代码

        
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            
this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
            BindDataGrid(
"select * from 学生档案","学号");
        }


        
private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            
this.DataGrid1.EditItemIndex=-1;
            BindDataGrid(
"select * from 学生档案","学号");
        }


        
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            
string s="delete from 学生档案 where 学号='"+DataGrid1.DataKeys[e.Item.ItemIndex].ToString().Trim()+"'";
            Update(s);
            BindDataGrid(
"select * from 学生档案","学号");
        }


        
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{    
            TextBox t
=(TextBox)e.Item.Cells[0].Controls[0];
            
this.DataGrid1.EditItemIndex=-1;
            
string s="update 学生档案 set 学号='"+
                    
//((TextBox)e.Item.Cells[0].Controls[0]).Text.ToString().Trim()+"','"+
                    t.Text.ToString()+"',姓名='"+
                    ((TextBox)e.Item.Cells[
1].Controls[0]).Text.ToString().Trim()+"',电话='"+
                    ((TextBox)e.Item.Cells[
2].Controls[0]).Text.ToString().Trim()+"'"+
                    
" where 学号='"+DataGrid1.DataKeys[e.Item.ItemIndex]+"'";
            Update(s);
            BindDataGrid(
"select * from 学生档案","学号");
        }

    }

}

posted on 2006-07-29 19:50  coollion  阅读(687)  评论(0)    收藏  举报