DataGrid应用.

注意:所有列为模板列最佳;
ItemDataBound事件:
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
     Label lb_name=(Label)e.Item.Cells[1].FindControl("l_name");
     Label lb_sex=(Label)e.Item.Cells[3].FindControl("l_sex");
     DataRow dr=((DataTable)ViewState["users"]).Rows[e.Item.ItemIndex];
     lb_name.Text="<a href='hhhhh'>"+dr["UserName"].ToString()+"</a>";
     lb_sex.Text=(bool)dr["sex"]?"男":"女";
    }
    else if(e.Item.ItemType==ListItemType.EditItem)
    {
     DropDownList drop_SEX=(DropDownList)e.Item.FindControl("drop_sex");
     DataRow dr=((DataTable)ViewState["users"]).Rows[e.Item.ItemIndex];
     drop_SEX.SelectedValue=(bool)dr["sex"]?"1":"0";//设为原本值
    }
EditCommand事件:
ViewState["type"]="Edi";
griduser.EditItemIndex=e.Item.ItemIndex;
griduser.DataSource = ViewState["users"];
griduser.DataBind();

绑定Grid方法:
private void bindGrid()
   {
    string cha="select * from userinfo";
    DataTable dt=new DataTable();
    SqlConnection con=new SqlConnection(sqlsrc);
    SqlDataAdapter da=new SqlDataAdapter(cha,con);
    da.Fill(dt);
    ViewState["users"]=dt;
    this.griduser.DataSource=ViewState["users"];
    this.griduser.DataBind();
   }
更新方法:
private void Updatatable(string sqlstring)
   {
    SqlConnection conn=new SqlConnection(sqlsrc);
    conn.Open();
    SqlCommand comm=new SqlCommand(sqlstring,conn);
    comm.ExecuteNonQuery();
    conn.Close();
   }


UpdateCommand事件:
string UPdata="111";
DataRow dr=((DataTable)ViewState["users"]).Rows[e.Item.ItemIndex];
TextBox txt_ID=(TextBox)e.Item.FindControl("txt_ID");
TextBox text_name=(TextBox)e.Item.FindControl("txt_name");
TextBox text_pwd=(TextBox)e.Item.FindControl("txt_pwd");
DropDownList drop_SEX=(DropDownList)e.Item.FindControl("drop_sex");
TextBox text_age=(TextBox)e.Item.FindControl("txt_age");
string UID=txt_ID.Text;
string Uname=text_name.Text;
string Upwd=text_pwd.Text;
string Usex=drop_SEX.SelectedItem.Text;
int usersex=Usex=="男"?1:0;
string Uage=text_age.Text;
if(ViewState["type"].ToString()=="Edi")
{
UPdata="update userinfo set UserName='"+Uname+"',Userpwd='"+Upwd+"',Sex='"+usersex+"',Age='"+Uage+"' where UserID='"+UID+"'";
}
else if(ViewState["type"].ToString()=="Add")
{
UPdata="insert into userinfo values('"+Uname+"','"+Upwd+"','"+usersex+"','"+Uage+"')";
}
Updatatable(UPdata);
griduser.EditItemIndex=-1;
bindGrid();


CancelCommand事件,
if(ViewState["type"].ToString()=="Add")
{
DataRow dr=((DataTable)ViewState["users"]).Rows[e.Item.ItemIndex];
((DataTable)ViewState["users"]).Rows.Remove(dr);
}
griduser.EditItemIndex=-1;
griduser.DataSource=ViewState["users"];
griduser.DataBind();

DeleteCommand事件:
DataRow dr=((DataTable)ViewState["users"]).Rows[e.Item.ItemIndex];
string deID=dr["userid"].ToString();
string delsql="delete from userinfo where userid="+deID;
Updatatable(delsql);
((DataTable)ViewState["users"]).Rows.Remove(dr);
bindGrid();

ItemCommand下添加:
if(e.CommandName=="Add")
{
ViewState["type"]="Add";
DataTable dt=(DataTable)ViewState["users"];
DataRow dr=dt.NewRow();
dr["sex"] = true;
dt.Rows.Add(dr);
griduser.EditItemIndex=dt.Rows.Count-1;
ViewState["users"]=dt;
griduser.DataSource=ViewState["users"];
griduser.DataBind();
}
这是我大二的时候写过的代码,有些地方我也忘了是什么意思,,

不知道有没有放上来的价值,

posted @ 2008-02-01 10:31  point.deng  阅读(310)  评论(0编辑  收藏  举报