GridView控件修改、删除、分页、排序示例(修改含有DropDownList控件)

None.gif < asp:GridView  ID ="GridView1"  runat ="server"  AutoGenerateColumns ="False"  OnRowDeleting ="GridView1_RowDeleting"  OnRowEditing ="GridView1_RowEditing"  OnSorting ="GridView1_Sorting"  OnRowUpdating ="GridView1_RowUpdating"  OnRowCancelingEdit ="GridView1_RowCancelingEdit"  OnRowDataBound ="GridView1_RowDataBound"  OnPageIndexChanging ="GridView1_PageIndexChanging"  CellPadding ="4"  AllowSorting ="True"  AllowPaging ="True"  PageSize ="18" >
None.gif              
< Columns >
None.gif                  
< asp:BoundField  DataField ="class_id"  HeaderText ="编号"  ReadOnly ="True"  SortExpression ="class_id" >
None.gif                      
< ItemStyle  Width ="60px"   />
None.gif                  
</ asp:BoundField >
None.gif                  
< asp:BoundField  DataField ="class_name"  HeaderText ="类别名称"  SortExpression ="class_name" >
None.gif                      
< ItemStyle  Width ="200px"   />
None.gif                  
</ asp:BoundField >
None.gif                  
None.gif                  
< asp:TemplateField  HeaderText ="父类别"  SortExpression ="class_parent" >
None.gif                      
< ItemTemplate >
ExpandedBlockStart.gifContractedBlock.gif                         
<% dot.gif #bindParent_Name(Eval("class_parent").ToString()) %>
None.gif                      
</ ItemTemplate >
None.gif                      
< EditItemTemplate >
None.gif                         
< asp:HiddenField  ID ="HDFXueli"  runat ="server"  Value ='<%#  Eval("class_parent") % > ' />
None.gif                         
< asp:DropDownList  ID ="DDLXueli"  runat ="server"  Width ="90px"   />
None.gif                      
</ EditItemTemplate >
None.gif                      
< ItemStyle  Width ="100px"   />
None.gif                  
</ asp:TemplateField >
None.gif                            
None.gif                  
< asp:CommandField  EditText ="修改"  HeaderText ="修改"  ShowEditButton ="True"   >
None.gif                      
< ItemStyle  Width ="60px"   />
None.gif                  
</ asp:CommandField >
None.gif                  
< asp:CommandField  HeaderText ="删除"  ShowDeleteButton ="True"   >
None.gif                      
< ItemStyle  Width ="60px"   />
None.gif                  
</ asp:CommandField >
None.gif              
</ Columns >
None.gif              
< PagerStyle  HorizontalAlign ="Center"  Font-Bold ="True"   />
None.gif              
< HeaderStyle  HorizontalAlign ="Left"   />
None.gif              
< SelectedRowStyle  Font-Bold ="True"   />
None.gif              
</ asp:GridView >
None.gif    private   void  Bind()
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
string key = "";
InBlock.gif        
string parent_id = "";
InBlock.gif        
try
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            key 
= Request.QueryString["key"];
InBlock.gif            parent_id 
= Request.QueryString["parent_id"];
ExpandedSubBlockEnd.gif        }

InBlock.gif        
catch
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            key 
= "";
InBlock.gif            parent_id 
= "";
ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        DataTable dt;
InBlock.gif        
if (parent_id != "" && parent_id != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            Data d;
InBlock.gif            
string cond = "";
InBlock.gif            
if (key == "" || key == null)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if (parent_id == "0")
InBlock.gif                    cond 
= "class_parent!=0";
InBlock.gif                
else
InBlock.gif                    cond 
= "class_parent=" + parent_id;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if (parent_id == "0")
InBlock.gif                    cond 
= "class_name like '%" + key + "%' and class_parent!=0";
InBlock.gif                
else
InBlock.gif                    cond 
= "class_name like '%" + key + "%' and class_parent=" + parent_id;
ExpandedSubBlockEnd.gif            }

InBlock.gif            d 
= new Data("bookClass", cond, "class_id desc"1);
InBlock.gif            dt 
= d.getDataTable();
ExpandedSubBlockEnd.gif        }

InBlock.gif        
else
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            dt 
= Dol.dtClassTwo();
ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        
string sort = (string)ViewState["SortOrder"+ " " + (string)ViewState["OrderDire"];
InBlock.gif        bind.bindGridView(
this.GridView1, dt, "class_id", sort);
ExpandedBlockEnd.gif    }

None.gif
None.gif    
// 根据父目录编号返回名称
None.gif
     public   string  bindParent_Name( string  class_id)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
string parent_name = class_id;
InBlock.gif        
for (int i = 0; i < dt.Rows.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if (dt.Rows[i][0].ToString().Trim() == class_id.Trim())
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                parent_name 
= dt.Rows[i][1].ToString();
InBlock.gif                
break;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif        
return parent_name;
ExpandedBlockEnd.gif    }

None.gif
None.gif    
protected   void  GridView1_RowDataBound( object  sender, GridViewRowEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
if (((DropDownList)e.Row.FindControl("DDLXueli")) != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            DropDownList ddlxueli 
= (DropDownList)e.Row.FindControl("DDLXueli");
InBlock.gif
InBlock.gif            ddlxueli.DataSource 
= dt;
InBlock.gif            ddlxueli.DataTextField 
= "class_name";
InBlock.gif            ddlxueli.DataValueField 
= "class_id";
InBlock.gif            ddlxueli.DataBind();
InBlock.gif
InBlock.gif            
//  选中 DropDownList
InBlock.gif
            ddlxueli.SelectedValue = ((HiddenField)e.Row.FindControl("HDFXueli")).Value;
ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        
//如果是绑定数据行 
InBlock.gif
        if (e.Row.RowType == DataControlRowType.DataRow)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                ((LinkButton)e.Row.Cells[
4].Controls[0]).Attributes.Add("onclick""javascript:return confirm('你确认要删除:[" + e.Row.Cells[1].Text + "]吗?\\n删除类别[" + e.Row.Cells[1].Text + "]后该类别下的所有图书、子目录和子目录下的图书都将被删除!')");
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

None.gif
None.gif    
// 排序
None.gif
     protected   void  GridView1_Sorting( object  sender, GridViewSortEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
string sPage = e.SortExpression;
InBlock.gif        
if (ViewState["SortOrder"].ToString() == sPage)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if (ViewState["OrderDire"].ToString() == "Desc")
InBlock.gif                ViewState[
"OrderDire"= "ASC";
InBlock.gif            
else
InBlock.gif                ViewState[
"OrderDire"= "Desc";
ExpandedSubBlockEnd.gif        }

InBlock.gif        
else
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            ViewState[
"SortOrder"= e.SortExpression;
ExpandedSubBlockEnd.gif        }

InBlock.gif        Bind();
ExpandedBlockEnd.gif    }

None.gif
None.gif    
// 编辑
None.gif
     protected   void  GridView1_RowEditing( object  sender, GridViewEditEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        GridView1.EditIndex 
= e.NewEditIndex;
InBlock.gif        Bind();
ExpandedBlockEnd.gif    }

None.gif
None.gif    
// 删除
None.gif
     protected   void  GridView1_RowDeleting( object  sender, GridViewDeleteEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
string class_id = GridView1.DataKeys[e.RowIndex].Value.ToString();
InBlock.gif        
//删除该 目录下的图书
InBlock.gif
        DataDel d1 = new DataDel("book""class_id=" + class_id);
InBlock.gif        d1.ExceDel();

InBlock.gif        
//删除该目录下的子目录
InBlock.gif
        DataDel d3 = new DataDel("bookClass""class_parent=" + class_id);
InBlock.gif        d3.ExceDel();
InBlock.gif
InBlock.gif        
//删除该目录
InBlock.gif
        DataDel d = new DataDel("bookClass""class_id=" + class_id);
InBlock.gif        d.ExceDel();
InBlock.gif
InBlock.gif        Bind();
ExpandedBlockEnd.gif    }

None.gif
None.gif    
// 更新
None.gif
     protected   void  GridView1_RowUpdating( object  sender, GridViewUpdateEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
string class_name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
InBlock.gif        
string class_id = GridView1.DataKeys[e.RowIndex].Value.ToString();
InBlock.gif        
string class_parent = ((DropDownList)GridView1.Rows[e.RowIndex].FindControl("DDLXueli")).SelectedValue;
InBlock.gif
InBlock.gif        Data d1 
= new Data();
InBlock.gif        
if (d1.count("bookClass""class_name='" + class_name + "' and class_parent=" + class_parent + " and class_id!=" + class_id) == 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            DataUpdate d 
= new DataUpdate("bookClass""class_name='" + class_name + "',class_parent=" + class_parent, "class_id=" + class_id);
InBlock.gif            d.ExceUpdate();
InBlock.gif            GridView1.EditIndex 
= -1;
InBlock.gif            Bind();
ExpandedSubBlockEnd.gif        }

InBlock.gif        
else
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            Alert a 
= new Alert("" + class_name + "]名称重复!");
InBlock.gif            a.show();
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

None.gif
None.gif    
// 取消
None.gif
     protected   void  GridView1_RowCancelingEdit( object  sender, GridViewCancelEditEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        GridView1.EditIndex 
= -1;
InBlock.gif        Bind();
ExpandedBlockEnd.gif    }

None.gif
None.gif    
// 分页
None.gif
     protected   void  GridView1_PageIndexChanging( object  sender, GridViewPageEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        GridView1.PageIndex 
= e.NewPageIndex;
InBlock.gif        Bind();
ExpandedBlockEnd.gif    }

转载于:https://www.cnblogs.com/hzuIT/archive/2007/07/31/837084.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值