下面的实例是有关 ListView 服务器控件的一些常用操作!
一、页面代码
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="department.aspx.cs" Inherits="Web.systemset.department" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- <link href="../style/style.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <form id="form1" runat="server">
- <asp:Label ID="lbMessage" runat="server" ForeColor="Red"></asp:Label>
- <br />
- <asp:ListView ID="lvDepartment" runat="server" DataKeyNames="F_DepartmentID" EnableModelValidation="True"
- InsertItemPosition="LastItem" oniteminserting="lvDepartment_ItemInserting"
- onitemediting="lvDepartment_ItemEditing"
- onitemcanceling="lvDepartment_ItemCanceling"
- onitemdeleting="lvDepartment_ItemDeleting"
- onitemupdating="lvDepartment_ItemUpdating">
- <AlternatingItemTemplate>
- <tr style="">
- <td>
- <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" onclientclick="return confirm('确认删除?')"/>
- <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
- </td>
- <td>
- <asp:Label ID="F_DepartmentNameLabel" runat="server"
- Text='<%# Eval("F_DepartmentName") %>' />
- </td>
- <td>
- <asp:Label ID="F_OrderLabel" runat="server" Text='<%# Eval("F_Order") %>' />
- </td>
- </tr>
- </AlternatingItemTemplate>
- <EditItemTemplate>
- <tr style="">
- <td>
- <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" />
- <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" />
- </td>
- <td>
- <asp:TextBox ID="F_DepartmentNameTextBox" runat="server" Text='<%# Bind("F_DepartmentName") %>' CssClass="wenben" />
- </td>
- <td>
- <asp:TextBox ID="F_OrderTextBox" runat="server" Text='<%# Bind("F_Order") %>' CssClass="order"
- onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;" />
- </td>
- </tr>
- </EditItemTemplate>
- <EmptyDataTemplate>
- <table runat="server" style="">
- <tr>
- <td>未返回数据。</td>
- </tr>
- </table>
- </EmptyDataTemplate>
- <InsertItemTemplate>
- <tr style="">
- <td>
- <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="插入" />
- <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" />
- </td>
- <td>
- <asp:TextBox ID="F_DepartmentNameTextBox" runat="server" Text='<%# Bind("F_DepartmentName") %>' CssClass="wenben" />
- </td>
- <td>
- <asp:TextBox ID="F_OrderTextBox" runat="server" Text='<%# Bind("F_Order") %>' CssClass="order"
- onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;" />
- </td>
- </tr>
- </InsertItemTemplate>
- <ItemTemplate>
- <tr style="">
- <td>
- <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" onclientclick="return confirm('确认删除?')" />
- <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
- </td>
- <td>
- <asp:Label ID="F_DepartmentNameLabel" runat="server" Text='<%# Eval("F_DepartmentName") %>' />
- </td>
- <td>
- <asp:Label ID="F_OrderLabel" runat="server" Text='<%# Eval("F_Order") %>' />
- </td>
- </tr>
- </ItemTemplate>
- <LayoutTemplate>
- <table runat="server">
- <tr runat="server">
- <td runat="server">
- <table ID="itemPlaceholderContainer" runat="server" border="0" style="">
- <tr runat="server" style="">
- <td runat="server" align="left"></td>
- <td runat="server" align="left"><strong>部门名称</strong></td>
- <td runat="server" align="left"><strong>顺序</strong></td>
- </tr>
- <tr ID="itemPlaceholder" runat="server" align="left">
- </tr>
- </table>
- </td>
- </tr>
- <tr runat="server">
- <td runat="server" style="">
- <asp:DataPager ID="DataPager1" runat="server">
- <Fields>
- <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
- ShowNextPageButton="False" ShowPreviousPageButton="False" />
- <asp:NumericPagerField />
- <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True"
- ShowNextPageButton="False" ShowPreviousPageButton="False" />
- </Fields>
- </asp:DataPager>
- </td>
- </tr>
- </table>
- </LayoutTemplate>
- <SelectedItemTemplate>
- <tr style="">
- <td>
- <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
- <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
- </td>
- <td>
- <asp:Label ID="F_DepartmentNameLabel" runat="server" Text='<%# Eval("F_DepartmentName") %>' />
- </td>
- <td>
- <asp:Label ID="F_OrderLabel" runat="server" Text='<%# Eval("F_Order") %>' />
- </td>
- </tr>
- </SelectedItemTemplate>
- </asp:ListView>
- </form>
- </body>
- </html>
二、Page_Load页面加载事件
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack&&configcompany!=null)
- {
- lvDepartmentBind();
- }
- }
三、lvDepartment_ItemInserting插入事件
- protected void lvDepartment_ItemInserting(object sender, ListViewInsertEventArgs e)
- {
- TextBox txDepart = (TextBox)e.Item.FindControl("F_DepartmentNameTextBox");
- TextBox txOrder = (TextBox)e.Item.FindControl("F_OrderTextBox");
- if (txDepart.Text == "")
- {
- lbMessage.Text = "部门不能为空";
- }
- else if (txOrder.Text == "")
- {
- lbMessage.Text = "没有填写顺序";
- }
- else
- {
- bool bl = Mis.GetUserInfo.InsertDepartment(txDepart.Text, Convert.ToInt32(txOrder.Text), configcompany.CompanyID);
- lvDepartmentBind();
- HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.AbsolutePath);
- }
- }
四、lvDepartment_ItemEditing编辑事件
- protected void lvDepartment_ItemEditing(object sender, ListViewEditEventArgs e)
- {
- lvDepartment.EditIndex = e.NewEditIndex;
- lvDepartmentBind();
- HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.AbsolutePath);
- }
五、lvDepartment_ItemDeleting删除事件
- protected void lvDepartment_ItemDeleting(object sender, ListViewDeleteEventArgs e)
- {
- int KeyId = Convert.ToInt32(lvDepartment.DataKeys[e.ItemIndex].Value);
- bool bl = Mis.GetUserInfo.DeleteDepartment(KeyId);
- lvDepartmentBind();
- HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.AbsolutePath);
- }
六、lvDepartment_ItemUpdating更新事件
- protected void lvDepartment_ItemUpdating(object sender, ListViewUpdateEventArgs e)
- {
- int KeyId = Convert.ToInt32(lvDepartment.DataKeys[e.ItemIndex].Value);
- TextBox txDepart =(TextBox)lvDepartment.Items[e.ItemIndex].FindControl("F_DepartmentNameTextBox");
- TextBox txOrder =(TextBox)lvDepartment.Items[e.ItemIndex].FindControl("F_OrderTextBox");
- if (txDepart.Text=="")
- lbMessage.Text ="部门不能为空";
- else if(txOrder.Text=="")
- lbMessage.Text="顺序不能为空";
- else
- {
- string depart =Server.HtmlEncode(txDepart.Text);
- int order = Convert.ToInt32(txOrder.Text);
- bool bl = Mis.GetUserInfo.UpdateDepartment(depart,order,KeyId);
- lvDepartment.EditIndex = -1;
- lvDepartmentBind();
- HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.AbsolutePath);
- }
- }
七、lvDepartment_ItemCanceling取消事件
- protected void lvDepartment_ItemCanceling(object sender, ListViewCancelEventArgs e)
- {
- //取消编辑
- if (e.CancelMode == ListViewCancelMode.CancelingEdit)
- {
- //e.Cancel = true;
- lvDepartment.EditIndex = -1;
- lvDepartmentBind();
- HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.AbsolutePath);
- }
- else if (e.CancelMode == ListViewCancelMode.CancelingInsert)
- {
- lvDepartmentBind();
- HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.AbsolutePath);
- return;
- }
- }