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 NewsSystem.Admin

...{

/**//// <summary>
/// NewsManage 的摘要说明。
/// </summary>
public class NewsManage : System.Web.UI.Page

...{
protected System.Web.UI.WebControls.Button btnDelete;
protected System.Web.UI.WebControls.DropDownList ddlNewsType;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)

...{
this.btnDelete.Attributes.Add("onclick", "return confirmDelete (this.form);");

if(!IsPostBack)

...{
NewsTypeBind();
NewsBind();
}
}

private void NewsBind()

...{
BBL.News bbl=new BBL.News ();
DataGrid1.DataSource=bbl.SelectNews();
DataGrid1.DataBind();
}

private void NewsTypeBind()

...{
BBL.NewsType bbl=new BBL.NewsType ();
this.ddlNewsType.DataTextField="NVC_NewTypeName";
this.ddlNewsType.DataValueField="INT_NewTypeID";
this.ddlNewsType.DataSource=bbl.GetNewsType();
this.ddlNewsType.DataBind();
}



Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)

...{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()

...{
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
this.ddlNewsType.SelectedIndexChanged += new System.EventHandler(this.ddlNewsType_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

...{
if(e.Item.ItemType == ListItemType.Header)

...{
CheckBox chk = (CheckBox)e.Item.FindControl("chkAll");
chk.Attributes.Add("onclick","javascript:return SelectAll(this.checked,this.id)");
}
else if(e.Item.ItemType == ListItemType.Item)

...{
CheckBox chk = (CheckBox)e.Item.FindControl("chkDelete");
chk.Attributes.Add("onclick","javascript:return SelectAll(this.checked,this.id)");
}
if(e.Item .ItemType==ListItemType.Item ||e.Item .ItemType==ListItemType.AlternatingItem )

...{
e.Item .Attributes .Add ("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#ffffff'");
e.Item .Attributes .Add ("onmouseout","this.style.backgroundColor=c");
}
}

private void ddlNewsType_SelectedIndexChanged(object sender, System.EventArgs e)

...{
int newsTypeID=Convert.ToInt32(ddlNewsType.SelectedItem.Value);
BBL.News bbl=new BBL.News ();
DataSet ds=bbl.GetTypeNews(newsTypeID);
this.DataGrid1.DataSource=ds;
this.DataGrid1.DataBind();
}

private void btnDelete_Click(object sender, System.EventArgs e)

...{
System.Web.UI.WebControls.CheckBox chkExport;
System.Collections.ArrayList oExArgs =new System.Collections.ArrayList();
string newsID;
string newsIDList="";
foreach(DataGridItem oDataGridItem in DataGrid1.Items)

...{
chkExport =(CheckBox)oDataGridItem.FindControl("chkDelete");
if(chkExport.Checked)

...{
newsID=((HtmlInputHidden)oDataGridItem.FindControl("SelectedID")).Value;
oExArgs.Add(newsID);
}
}
for(int i =0;i<oExArgs.Count;i++)

...{
newsIDList +=oExArgs[i] + ",";
}
newsIDList=newsIDList.Remove(newsIDList.Length-1,1);
BBL.News bbl=new BBL.News ();
bbl.DeleteNews(newsIDList);
NewsBind();
// Response.Write (newsIDList);
}

private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

...{
this.DataGrid1 .CurrentPageIndex=e.NewPageIndex ;
NewsBind();
}



}
}

function SelectAll (chkVal, idVal) {
var thisfrm = document.forms[0];
// 查找Forms里面所有的元素
for (i=0; i<thisfrm.length; i++) {
// 查找模板头中的CheckBox
if (idVal.indexOf ('chkAll') != -1) {
if(chkVal == true) {
thisfrm.elements[i].checked = true;
}
else {
thisfrm.elements[i].checked = false;
}
} // if
// 如果除题头以外的项没有全选上则取消题头的选择
else if (idVal.indexOf ('chkDelete') != -1) {
if(thisfrm.elements[i].checked == false) {
thisfrm.elements[1].checked = false;
}
}
} // for
}
// 删除判断
function confirmDelete (thisfrm) {
for (i=0; i<thisfrm.length; i++) {
if (thisfrm.elements[i].name.indexOf('chkDelete') !=-1) {
if(thisfrm.elements[i].checked) {
return confirm ('你是否想要删除选择的记录?')
}
}
}
}

<%...@ Page language="c#" Codebehind="NewsManage.aspx.cs" AutoEventWireup="false" Inherits="NewsSystem.Admin.NewsManage" responseEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>NewsManage</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language="javascript" src="/NewsSystem/js/admin/gd.js" type="text/Jscript"></script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 128px; POSITION: absolute; TOP: 48px"
runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="20">
<ItemStyle BackColor="WhiteSmoke"></ItemStyle>
<HeaderStyle BackColor="#C0C0FF"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="INT_NewID" HeaderText="新闻编号"></asp:BoundColumn>
<asp:HyperLinkColumn DataNavigateUrlField="INT_NewID" DataNavigateUrlFormatString="NewsView.aspx?NewsID={0}"
DataTextField="NVC_NewTitle" HeaderText="新闻标题"></asp:HyperLinkColumn>
<asp:BoundColumn DataField="NVC_NewTypeName" HeaderText="所属类别"></asp:BoundColumn>
<asp:BoundColumn DataField="NVC_AddUser" HeaderText="添加人"></asp:BoundColumn>
<asp:BoundColumn DataField="DAT_AddDateTime" HeaderText="发布时间"></asp:BoundColumn>
<asp:HyperLinkColumn Text="评论" DataNavigateUrlField="INT_NewID" DataNavigateUrlFormatString="remark.aspx?INT_NewID={0}"
HeaderText="评论"></asp:HyperLinkColumn>
<asp:BoundColumn DataField="CHR_ISAuditing" HeaderText="是否审核"></asp:BoundColumn>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:CheckBox id="chkAll" runat="server"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<INPUT id=SelectedID type=hidden value='<%# DataBinder.Eval(Container.DataItem,"INT_NewID")%>' name=SelectedID runat="server">
<asp:CheckBox id="chkDelete" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle NextPageText="下一页" PrevPageText="上一页" BackColor="White"></PagerStyle>
</asp:DataGrid>
<asp:Button id="btnDelete" style="Z-INDEX: 102; LEFT: 312px; POSITION: absolute; TOP: 344px"
runat="server" Text="删除"></asp:Button>
<asp:DropDownList id="ddlNewsType" style="Z-INDEX: 103; LEFT: 128px; POSITION: absolute; TOP: 16px"
runat="server" Width="80px" AutoPostBack="True">
<asp:ListItem Value="全部">全部</asp:ListItem>
</asp:DropDownList></FONT></form>
</body>
</HTML>
