首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于DATAGRID删除多行的有关问题,最好“孟子E章”看到后请进来,小弟我是看了你的文章,多谢

2012-03-02 
关于DATAGRID删除多行的问题,最好“孟子E章”看到后请进来,我是看了你的文章,谢谢!前台:%@Pagelanguage c

关于DATAGRID删除多行的问题,最好“孟子E章”看到后请进来,我是看了你的文章,谢谢!
前台:
<%@   Page   language= "c# "   Codebehind= "DataGridCheckBox.aspx.cs "   AutoEventWireup= "false "   Inherits= "eMeng.Exam.DataGridCheckBox.DataGridCheckBox "   %>
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN "   >
<HTML>
<HEAD>
<title> 为DataGrid添加CheckBox控件的例子 </title>
</HEAD>
<body>
<form   id= "frmMain "   method= "post "   runat= "server ">
<asp:datagrid   id= "dgMain "   runat= "server "   PageSize= "5 "   AllowPaging= "True "   Width= "98% "   AutoGenerateColumns= "False "
Font-Size= "9pt "   Font-Names= "宋体 "   DataKeyField= "au_id ">
<AlternatingItemStyle   ForeColor= "ControlText "   BackColor= "White "> </AlternatingItemStyle>
<ItemStyle   ForeColor= "ControlText "   BackColor= "WhiteSmoke "> </ItemStyle>
<HeaderStyle   Font-Bold= "True "   HorizontalAlign= "Center "   ForeColor= "Black "   VerticalAlign= "Middle "
BackColor= "Control "> </HeaderStyle>
<Columns>
<asp:TemplateColumn   HeaderText= "选项 ">
<HeaderStyle   HorizontalAlign= "Center "   Width= "50px "> </HeaderStyle>
<ItemTemplate>
<INPUT   id=SelectedID   type=hidden   value= ' <%#   Server.HtmlEncode((string)DataBinder.Eval(Container.DataItem,   "au_id "))%> '   name=SelectedID   runat= "server ">
<asp:CheckBox   id= "chkExport "   Runat= "server "> </asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn   DataField= "au_id "   ReadOnly= "True "   HeaderText= "序号 ">
<HeaderStyle   Width= "50px "> </HeaderStyle>
</asp:BoundColumn>
<asp:TemplateColumn   SortExpression= "demo "   HeaderText= "标题 ">
<ItemTemplate>
<asp:Label   id=lblColumn   runat= "server "   Width= "80% "   Text= ' <%#   Server.HtmlEncode((string)DataBinder.Eval(Container.DataItem,   "au_lname "))%> '>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle   NextPageText= "上一页 "   PrevPageText= "下一页 "> </PagerStyle>
</asp:datagrid> <asp:button   id= "cmdSelectAll "   runat= "server "   Text= "全部选中 "> </asp:button> <asp:button   id= "cmdFindSelected "   runat= "server "   Text= "删除选中的项目 "> </asp:button> <br>
<asp:label   id= "Label1 "   runat= "server "> </asp:label>
<hr>
<asp:label   id= "Label2 "   runat= "server "> </asp:label> </form>
</body>
</HTML>


后台:

using   System;
using   System.Collections;
using   System.ComponentModel;


using   System.Data;
using   System.Data.SqlClient;
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.Configuration;

namespace   eMeng.Exam.DataGridCheckBox
{
///   <summary>
///   DataGridCheckBox   的摘要说明。
///   【孟宪会之精彩世界】
///   </summary>
public   class   DataGridCheckBox   :   System.Web.UI.Page
{
protected   System.Web.UI.WebControls.Button   cmdSelectAll;
protected   System.Web.UI.WebControls.Button   cmdFindSelected;
protected   System.Web.UI.WebControls.DataGrid   dgMain;
protected   System.Web.UI.WebControls.Label   Label1;
protected   System.Web.UI.WebControls.Label   Label2;
DataView   oDataView;
//string   sConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "
//+   HttpContext.Current.Server.MapPath( "../../aspxWeb.mdb.ascx ");
 
private   void   Page_Load(object   sender,   System.EventArgs   e)
{
//   在此处放置用户代码以初始化页面
dgMain.Columns[0].HeaderText   =   "选项 ";
dgMain.Columns[1].HeaderText   =   "序号 ";
dgMain.Columns[2].HeaderText   =   "标题 ";
cmdFindSelected.Text   =   "查看选中的项目 ";

if(!this.IsPostBack)
{
cmdSelectAll.Text   =   "全部选中 ";
RefreshGrid();
}
}
#region   Web   Form   Designer   generated   code
override   protected   void   OnInit(EventArgs   e)
{
//
//   CODEGEN:该调用是   ASP.NET   Web   窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///   <summary>
///   设计器支持所需的方法   -   不要使用代码编辑器修改
///   此方法的内容。
///   </summary>
private   void   InitializeComponent()
{        
this.dgMain.PageIndexChanged   +=   new   System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dgMain_PageIndexChanged);
this.cmdSelectAll.Click   +=   new   System.EventHandler(this.cmdSelectAll_Click);
this.cmdFindSelected.Click   +=   new   System.EventHandler(this.cmdFindSelected_Click);
this.Load   +=   new   System.EventHandler(this.Page_Load);

}
#endregion

private   void   cmdSelectAll_Click(object   sender,   System.EventArgs   e)
{
selectAll();
}

private   void   selectAll()
{
System.Web.UI.WebControls.CheckBox   chkExport   ;
if(   cmdSelectAll.Text   ==   "全部选中 ")
{
foreach(DataGridItem   oDataGridItem   in   dgMain.Items)
{
chkExport   =   (CheckBox)oDataGridItem.FindControl( "chkExport ");
chkExport.Checked   =   true;
}
cmdSelectAll.Text   =   "全部不选 ";
}
else
{
foreach(DataGridItem   oDataGridItem   in   dgMain.Items)
{
chkExport   =   (CheckBox)oDataGridItem.FindControl( "chkExport ");
chkExport.Checked   =   false;
}
cmdSelectAll.Text   =   "全部选中 ";


}
}

private   void   RefreshGrid()
{
SqlDataAdapter   sqlda   ;
DataSet   ds   =   new   DataSet();
try
{
string   sSQL   =   "Select   *   from   authors ";
SqlConnection   sqlcon   =   new   SqlConnection(ConfigurationSettings.AppSettings[ "ConnectionString1 "]);
sqlda   =   new   SqlDataAdapter(sSQL.ToString(),sqlcon);
sqlda.Fill(ds,   "authors ");
oDataView   =   new   DataView(ds.Tables[ "authors "]);
dgMain.DataSource   =   oDataView;
sqlcon.Close();
}
catch(Exception   ex)
{
Label1.Text   =   ex.Message.ToString();
}
dgMain.DataBind();
}

private   void   cmdFindSelected_Click(object   sender,   System.EventArgs   e)
{
System.Web.UI.WebControls.CheckBox   chkExport;
System.Collections.ArrayList   oExArgs   =   new   System.Collections.ArrayList();
Label1.Text   =   " ";
Label2.Text   =   " ";
foreach(DataGridItem   oDataGridItem   in   dgMain.Items)
{
chkExport   =   (CheckBox)oDataGridItem.FindControl( "chkExport ");
if(chkExport.Checked)
{
//如果要进行删除,可以在这里构造sql语句进行删除
string   sql   =   "DELETE   FROM   authors   WHERE   au_id   = "  
+   ((HtmlInputHidden)oDataGridItem.FindControl( "SelectedID ")).Value;
SqlConnection   sqlcon=new   SqlConnection(ConfigurationSettings.AppSettings[ "connectionString1 "]);
SqlCommand   cmd=new   SqlCommand(sql,sqlcon);
sqlcon.Open();
try
{
cmd.ExecuteNonQuery();
}
catch(Exception   ex)
{
Response.Write(ex.ToString());
}
sqlcon.Close();
}
}
RefreshGrid();
}


private   void   dgMain_PageIndexChanged(object   source,   System.Web.UI.WebControls.DataGridPageChangedEventArgs   e)
{
dgMain.CurrentPageIndex=e.NewPageIndex;
RefreshGrid();
}
}
}


[解决办法]
((Label)oDataGridItem.FindControl( "lblColumn ")).Text
[解决办法]
((Label)oDataGridItem.FindControl( "lblColumn ")).Text

热点排行