一、页面
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WelShem.WebForm1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm12</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <table align="center" width="500"> <tr> <td></td> </tr> <tr> <td> <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="495px"> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <Columns> <!-- 只读绑定列,用于实现在编辑状态下不允许改动的数据(正式使用时先删除) --> <asp:BoundColumn DataField="AffairID" ReadOnly="True" HeaderText="编号"/> <!-- 常规绑定列,在编辑状态下显示为文本框(正式使用时先删除) --> <asp:BoundColumn DataField="AffairContent" HeaderText="内容"/> <!-- 只读隐藏绑定列,隐藏下拉列表中原始的数据(正式使用时先删除) --> <asp:BoundColumn Visible="False" DataField="AffairState" ReadOnly="True" HeaderText="状态"/> <!-- 模板列,用于实现在编辑状态下非文本框的其他编辑域(正式使用时先删除) --> <asp:TemplateColumn HeaderText="状态"> <!-- 常态模板,非编辑状态下呈现的样子(正式使用时先删除) --> <ItemTemplate> <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.AffairState") %>' /> </ItemTemplate> <!-- 编辑态模板,编辑状态下呈现的样子(正式使用时先删除) --> <EditItemTemplate> <!-- 下拉列表,动态绑定(正式使用时先删除) --> <asp:DropDownList id="cboState" runat="server" Width="100px" /> </EditItemTemplate> </asp:TemplateColumn> <!-- 编辑按钮列(正式使用时先删除) --> <asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" CancelText="取消" EditText="编辑"> <ItemStyle HorizontalAlign="Center"></ItemStyle> </asp:EditCommandColumn> </Columns> </asp:DataGrid></td> </tr> </table> </form> </body> </HTML> |
二、代码
using System; namespace WelShem #region Web 窗体设计器生成的代码 } private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) /* dt.Rows.Add(new object[]{aID,aContent,aState}); this.DataGrid1.EditItemIndex=-1; private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) |