listing-page页

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
using System;
using System.Web.UI.WebControls;
using Utilities;
using System.Collections.ObjectModel;

public partial class Code_Sample_Listing_Page : System.Web.UI.Page
{
#region "Click/Command Handlers"

protected void GridViewEmployees_RowCommand( object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
if (e.CommandName == " cmdView " )
WebManager.RedirectToDetailsPage(
" details-page.aspx " , e.CommandArgument.ToString(), FormViewMode.ReadOnly);
else if (e.CommandName == " cmdEdit " )
WebManager.RedirectToDetailsPage(
" details-page.aspx " , e.CommandArgument.ToString(), FormViewMode.Edit);
else if (e.CommandName == " cmdDelete " )
{
// implicit delete method call: the code below will invoke the delete method is the corresponding object data source implicitly
gridViewEmployees.DeleteRow(Convert.ToInt32(e.CommandArgument,System.Globalization.CultureInfo.CurrentCulture.NumberFormat)); // command argument contains row index
}
}

protected void ButtonDeleteSelected_Click( object sender, System.EventArgs e)
{
try
{
// Create a List to hold the EmployeeID values to delete
Collection < Int32 > employeeIDsToDelete = new Collection < Int32 > ();
// Iterate through the Employees.Rows property

foreach (GridViewRow row in gridViewEmployees.Rows)
{

// Access the CheckBox
CheckBox cb = (CheckBox)(row.FindControl( " chkEmployeeSelector " ));
if (cb != null && cb.Checked)
{
// Save the EmployeeID value for deletion
// First, get the EmployeeID for the selected row
Int32 employeeId = (Int32)gridViewEmployees.DataKeys[row.RowIndex].Value;

// Add it to the List...
employeeIDsToDelete.Add(employeeId);

// Add a confirmation message
labelMessage.Text += String.Format(System.Globalization.CultureInfo.CurrentCulture, " Delete successful. EmployeeId {0} has been deleted<br /> " , employeeId);
labelMessage.ForeColor
= System.Drawing.Color.Green;
}
}

// perform the actual delete
if (Entity.Employee.DeleteEmployees(employeeIDsToDelete) == false )
labelMessage.Text
= " There is a problem deleting all items. One or more items have not been deleted due to problem. " ;
}
catch (Exception ex)
{
labelMessage.Text
= " Problem while deleting. " + ex.Message;
labelMessage.ForeColor
= System.Drawing.Color.Red;
}

// binding the grid
gridViewEmployees.PageIndex = 0 ;
gridViewEmployees.DataBind();
}

protected void ButtonAdd_Click( object sender, System.EventArgs e)
{
WebManager.RedirectToDetailsPage(
" details-page.aspx " , " 0 " , FormViewMode.Insert);
}

#endregion

protected void GridViewEmployees_RowDataBound( object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{

if ((e.Row.RowType == DataControlRowType.Header))
{
// adding an attribut for onclick event on the check box in the hearder and passing the ClientID of the Select All checkbox
((CheckBox)e.Row.FindControl( " chkSelectAll " )).Attributes.Add( " onclick " , " SelectAll(' " + gridViewEmployees.ClientID + " ',' " + ((CheckBox)e.Row.FindControl( " chkSelectAll " )).ClientID + " ') " );

}

if (e.Row.RowType == DataControlRowType.DataRow)
{
Int32 employeeId
= (Int32)gridViewEmployees.DataKeys[e.Row.RowIndex].Value;

ImageButton imbtnView;
imbtnView
= (ImageButton)e.Row.FindControl( " lnbView " );
// assigning alternate text for w3c validation
imbtnView.AlternateText = " view " ;
imbtnView.CommandArgument
= employeeId.ToString(System.Globalization.CultureInfo.CurrentCulture.NumberFormat);

ImageButton imbtnEdit;
imbtnEdit
= (ImageButton)e.Row.FindControl( " lnbEdit " );
// assigning alternate text for w3c validation
imbtnEdit.AlternateText = " edit " ;
imbtnEdit.CommandArgument
= employeeId.ToString(System.Globalization.CultureInfo.CurrentCulture.NumberFormat);

ImageButton imbtnDelete
= (ImageButton)e.Row.FindControl( " lnbDelete " );
// assigning alternate text for w3c validation
imbtnDelete.AlternateText = " delete " ;
imbtnDelete.CommandArgument
= e.Row.RowIndex.ToString(System.Globalization.CultureInfo.CurrentCulture.NumberFormat);
imbtnDelete.Attributes.Add(
" onclick " , " javascript:return confirm('Are you sure you want to delete?'); " );

}
}

protected void odsOrderDetails_Deleted( object sender, ObjectDataSourceStatusEventArgs e)
{
// getting the result
bool result = Convert.ToBoolean(e.ReturnValue, System.Globalization.CultureInfo.CurrentCulture.NumberFormat);

if (result)
{
labelMessage.Text
= " Delete successful. " ;
labelMessage.ForeColor
= System.Drawing.Color.Green;
}
else
{
e.ExceptionHandled
= true ;
labelMessage.Text
= " Delete Not successful. " ;
if (e.Exception != null ) labelMessage.Text += e.Exception.Message;
labelMessage.ForeColor
= System.Drawing.Color.Red;
}
}

protected void buttonFilter_Click( object sender, EventArgs e)
{
gridViewEmployees.DataBind();
}
}

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
<% @ Page Language = " C# " MasterPageFile = " ~/master/default.master " AutoEventWireup = " true "
CodeFile
= " listing-page.aspx.cs " Inherits = " Code_Sample_Listing_Page " Title = " Employee Listing Page " %>

<% @ Register Assembly = " App_Code " Namespace = " Utilities " TagPrefix = " CustomControl " %>
< asp:Content ID ="Content2" ContentPlaceHolderID ="ContentPlaceholder1" runat ="Server" >
< table id ="tblOuter" class ="contentcontainerTBL" summary ="table1 summary info" width ="100%" >
< caption >
</ caption >
< thead >
< tr >
< th class ="invisible" title ="Outer table Header" >
</ th >
</ tr >
</ thead >
< tr >
< td >
< br />
< p class ="tblHeaderTitleSize" >
Employees
</ p >
< p >
In this page you will be able to view the list of all employess. Click on the appropriate
buttons to view, insert or update an employee.
</ p >
</ td >
</ tr >
< tr >
< td >
Employee:
< asp:DropDownList ID ="dropDownListEmployee" runat ="server" AppendDataBoundItems ="true"
DataSourceID
="odsEmployeeList" DataTextField ="FirstName" DataValueField ="EmployeeId"
EnableViewState
="false" >
< asp:ListItem Text ="All" Value ="" ></ asp:ListItem >
</ asp:DropDownList >
< asp:ObjectDataSource ID ="odsEmployeeList" runat ="server" TypeName ="Entity.Employee"
EnableViewState
="true" SelectMethod ="SelectAllEmployees" />
< asp:Button runat ="server" Text ="Filter" ID ="buttonFilter" CssClass ="button-search"
AccessKey
="f" Width ="75px" OnClick ="buttonFilter_Click" />
</ td >
</ tr >
< tr class ="spacerrowTBL" >
< td >
< asp:Label EnableViewState ="false" runat ="server" ID ="labelMessage" ></ asp:Label >
</ td >
</ tr >
< tr >
< td >
< table id ="tblInner" class ="uirowcontainerTBL" summary ="table2 summary" >
< caption >
</ caption >
< thead >
< tr >
< th class ="invisible" title ="inner table Header" >
</ th >
</ tr >
</ thead >
< tr >
< td >
< asp:GridView ID ="gridViewEmployees" runat ="server" SkinID ="GridView" DataSourceID ="odsOrderDetails"
DataKeyNames
="EmployeeId" AllowPaging ="True" BorderWidth ="1px" BorderStyle ="Solid"
OnRowCommand
="GridViewEmployees_RowCommand" OnRowDataBound ="GridViewEmployees_RowDataBound"
UseAccessibleHeader
="False" >
< Columns >
< asp:BoundField DataField ="FirstName" HeaderText ="First Name" ReadOnly ="True" SortExpression ="Title" />
< asp:BoundField DataField ="LastName" HeaderText ="Last Name" ReadOnly ="True" SortExpression ="Description" />
< asp:BoundField DataField ="Country" HeaderText ="Country" ReadOnly ="True" SortExpression ="Url" />
< asp:TemplateField >
< ItemStyle Width ="50px" />
< ItemTemplate >
< asp:ImageButton ID ="lnbView" AlternateText ="view" ImageUrl ="~/image/view_icon.gif"
runat
="server" CommandName ="cmdView" />
</ ItemTemplate >
< HeaderTemplate >
View
</ HeaderTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemStyle Width ="50px" />
< ItemTemplate >
< asp:ImageButton ID ="lnbEdit" AlternateText ="edit" ImageUrl ="~/image/edit_icon.gif"
runat
="server" CommandName ="cmdEdit" />
</ ItemTemplate >
< HeaderTemplate >
Edit
</ HeaderTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemStyle Width ="50px" />
< ItemTemplate >
< asp:ImageButton ID ="lnbDelete" AlternateText ="abc" ImageUrl ="~/image/ico_delete2.gif"
runat
="server" CommandName ="cmdDelete" />
</ ItemTemplate >
< HeaderTemplate >
Delete
</ HeaderTemplate >
</ asp:TemplateField >
< asp:TemplateField >
< ItemStyle Width ="50px" />
< ItemTemplate >
&nbsp; < asp:CheckBox runat ="server" ID ="chkEmployeeSelector" />
</ ItemTemplate >
< HeaderTemplate >
&nbsp; < asp:CheckBox runat ="server" ID ="chkSelectAll" />
</ HeaderTemplate >
</ asp:TemplateField >
</ Columns >
</ asp:GridView >
</ td >
</ tr >
</ table >
</ td >
</ tr >
< tr >
< td colspan ="7" style ="padding-left: 140px" >
< asp:Button ID ="buttonAdd" AccessKey ="a" runat ="server" Text ="Add Employee" SkinID ="AspButton"
OnClientClick
="enableField" OnClick ="ButtonAdd_Click" />
< asp:Button AccessKey ="d" OnClientClick ="return confirm('Are you sure you want to delete all items?');"
runat
="server" ID ="buttonDeleteSelected" Text ="Delete Selected" SkinID ="AspButton"
OnClick
="ButtonDeleteSelected_Click" />
</ td >
</ tr >
</ table >
< asp:ObjectDataSource ID ="odsOrderDetails" runat ="server" TypeName ="Entity.Employee"
DeleteMethod
="DeleteEmployee" SelectMethod ="GetEmployeesByReportsToPaged" SelectCountMethod ="GetEmployeesByReportsToPagedCount"
SortParameterName
="orderby" MaximumRowsParameterName ="maximumRows" StartRowIndexParameterName ="startRowIndex"
EnablePaging
="True" OnDeleted ="odsOrderDetails_Deleted" >
< SelectParameters >
< asp:ControlParameter Name ="reportsTo" ControlID ="dropDownListEmployee" />
< asp:Parameter Name ="orderBy" Type ="String" />
< asp:Parameter Name ="startRowIndex" Type ="Int32" />
< asp:Parameter Name ="maximumRows" Type ="Int32" />
</ SelectParameters >
< DeleteParameters >
< asp:ControlParameter ControlID ="gridViewEmployees" Name ="employeeId" />
</ DeleteParameters >
</ asp:ObjectDataSource >
</ asp:Content >

 

转载于:https://www.cnblogs.com/qhnokia/archive/2010/02/24/1672795.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值