用datagrid 的 Footer实现 添加修改和删除功能
2006-02-23 12:19
691 查看
aspx页面中的DataGrid
<asp:DataGrid ID="dg" runat="server" DataKeyField="Id" AutoGenerateColumns="False" OnItemDataBound="dg_ItemDataBound" OnItemCommand="dg_ItemCommand" ShowHeader="False" Width="100%" >
<Columns>
<asp:TemplateColumn HeaderText="序号">
<ItemStyle Width="10%" HorizontalAlign="Center" Wrap="False" />
<ItemTemplate>
<asp:Label ID="lblIndex" runat="server">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblIndex2" runat="server"></asp:Label>
</EditItemTemplate>
<FooterStyle Width="10%" HorizontalAlign="Center" Wrap="False" />
<FooterTemplate>
<asp:Label ID="lblIndex" Text="*" ForeColor="red" runat="server">
</asp:Label>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Name">
<ItemStyle Width="50%" HorizontalAlign="Left" Wrap="False" />
<ItemTemplate>
<asp:HyperLink ID="hlName" runat="server">
</asp:HyperLink>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tbName" Width="100%" runat="server"></asp:TextBox>
</EditItemTemplate>
<FooterStyle Width="50%" HorizontalAlign="Center" />
<FooterTemplate>
<asp:TextBox ID="Name" Width="100%" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn FooterText="操作">
<ItemStyle Width="20%" HorizontalAlign="Center" />
<ItemTemplate>
<asp:LinkButton ID="lbEdit" CommandName="Edit" runat="server" Text="编辑"></asp:LinkButton>
<asp:LinkButton ID="lbUpdate" CommandName="Update" runat="server" Text="更新"></asp:LinkButton>
<asp:LinkButton ID="lbCancel" CommandName="Cancel" runat="server" Text="取消"></asp:LinkButton>
</ItemTemplate>
<FooterStyle Width="20%" HorizontalAlign="Center" />
<FooterTemplate>
<asp:LinkButton ID="Cancel" Text="取消" CommandName="Cancel" Width="100%" runat="server"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemStyle Width="20%" HorizontalAlign="Center" />
<ItemTemplate>
<asp:LinkButton ID="lbDel" CommandName="Delete" runat="server" Text="删除"></asp:LinkButton>
</ItemTemplate>
<FooterStyle Width="20%" HorizontalAlign="Center" />
<FooterTemplate>
<asp:LinkButton ID="Save" Text="添加" CommandName="Add" Width="100%" runat="server"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
cs中的ItemDataBound和ItemCommand处理函数 #region 执行ItemDataBound事件
/// <summary>
/// ItemDataBound事件处理函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void dg_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem)
{
DataRowView drv = e.Item.DataItem as DataRowView;
if (e.Item.ItemType == ListItemType.EditItem) //编辑模式
{
(e.Item.FindControl("lblIndex2") as Label).Text = i.ToString("00");
(e.Item.FindControl("lblIndex2") as Label).ForeColor = System.Drawing.Color.Red;
(e.Item.FindControl("lbEdit") as LinkButton).Visible = false;
(e.Item.FindControl("tbName") as TextBox).Text = drv["Name"].ToString();
}
else
{
(e.Item.FindControl("lbUpdate") as LinkButton).Visible = false;
(e.Item.FindControl("lbCancel") as LinkButton).Visible = false;
(e.Item.FindControl("lblIndex") as Label).Text = i.ToString("00");
(e.Item.FindControl("lbDel") as LinkButton).Attributes.Add("onclick", "return confirm('确实要删除该条记录吗?')");
(e.Item.FindControl("hlName") as HyperLink).Text = drv["Name"].ToString();
(e.Item.FindControl("hlName") as HyperLink).NavigateUrl = "AreaSmallList.aspx?Area="+drv["Name"].ToString()+"&Parent_ID="+dg.DataKeys[e.Item.ItemIndex].ToString();
}
}
}
#endregion
/// <summary>
/// ItemCommand事件处理函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
///
protected void dg_ItemCommand(object sender, DataGridCommandEventArgs e)
{
string commandName = e.CommandName;
//根据CommandName 执行不同的操作
switch (commandName)
{
case "Add":
AddData(e);
break;
case "Edit":
dg.EditItemIndex = e.Item.ItemIndex;
break;
case "Update":
UpdateData(e);
dg.EditItemIndex = -1;
break;
case "Cancel":
dg.EditItemIndex = -1;
break;
case "Delete":
DeleteData(e);
break;
}
this.dg.ShowFooter = false;
}
#region 相关Command处理函数
/// <summary>
/// 添加数据
/// </summary>
/// <param name="e"></param>
protected void AddData(DataGridCommandEventArgs e)
{
//相关处理
}
/// <summary>
/// 删除指定记录行数据
/// </summary>
/// <param name="e"></param>
private void DeleteData(DataGridCommandEventArgs e)
{
//相关处理
}
/// <summary>
/// 更新数据
/// </summary>
/// <param name="e"></param>
private void UpdateData(DataGridCommandEventArgs e)
{
//相关处理
}
#endregion
<asp:DataGrid ID="dg" runat="server" DataKeyField="Id" AutoGenerateColumns="False" OnItemDataBound="dg_ItemDataBound" OnItemCommand="dg_ItemCommand" ShowHeader="False" Width="100%" >
<Columns>
<asp:TemplateColumn HeaderText="序号">
<ItemStyle Width="10%" HorizontalAlign="Center" Wrap="False" />
<ItemTemplate>
<asp:Label ID="lblIndex" runat="server">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblIndex2" runat="server"></asp:Label>
</EditItemTemplate>
<FooterStyle Width="10%" HorizontalAlign="Center" Wrap="False" />
<FooterTemplate>
<asp:Label ID="lblIndex" Text="*" ForeColor="red" runat="server">
</asp:Label>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Name">
<ItemStyle Width="50%" HorizontalAlign="Left" Wrap="False" />
<ItemTemplate>
<asp:HyperLink ID="hlName" runat="server">
</asp:HyperLink>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tbName" Width="100%" runat="server"></asp:TextBox>
</EditItemTemplate>
<FooterStyle Width="50%" HorizontalAlign="Center" />
<FooterTemplate>
<asp:TextBox ID="Name" Width="100%" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn FooterText="操作">
<ItemStyle Width="20%" HorizontalAlign="Center" />
<ItemTemplate>
<asp:LinkButton ID="lbEdit" CommandName="Edit" runat="server" Text="编辑"></asp:LinkButton>
<asp:LinkButton ID="lbUpdate" CommandName="Update" runat="server" Text="更新"></asp:LinkButton>
<asp:LinkButton ID="lbCancel" CommandName="Cancel" runat="server" Text="取消"></asp:LinkButton>
</ItemTemplate>
<FooterStyle Width="20%" HorizontalAlign="Center" />
<FooterTemplate>
<asp:LinkButton ID="Cancel" Text="取消" CommandName="Cancel" Width="100%" runat="server"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemStyle Width="20%" HorizontalAlign="Center" />
<ItemTemplate>
<asp:LinkButton ID="lbDel" CommandName="Delete" runat="server" Text="删除"></asp:LinkButton>
</ItemTemplate>
<FooterStyle Width="20%" HorizontalAlign="Center" />
<FooterTemplate>
<asp:LinkButton ID="Save" Text="添加" CommandName="Add" Width="100%" runat="server"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
cs中的ItemDataBound和ItemCommand处理函数 #region 执行ItemDataBound事件
/// <summary>
/// ItemDataBound事件处理函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void dg_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem)
{
DataRowView drv = e.Item.DataItem as DataRowView;
if (e.Item.ItemType == ListItemType.EditItem) //编辑模式
{
(e.Item.FindControl("lblIndex2") as Label).Text = i.ToString("00");
(e.Item.FindControl("lblIndex2") as Label).ForeColor = System.Drawing.Color.Red;
(e.Item.FindControl("lbEdit") as LinkButton).Visible = false;
(e.Item.FindControl("tbName") as TextBox).Text = drv["Name"].ToString();
}
else
{
(e.Item.FindControl("lbUpdate") as LinkButton).Visible = false;
(e.Item.FindControl("lbCancel") as LinkButton).Visible = false;
(e.Item.FindControl("lblIndex") as Label).Text = i.ToString("00");
(e.Item.FindControl("lbDel") as LinkButton).Attributes.Add("onclick", "return confirm('确实要删除该条记录吗?')");
(e.Item.FindControl("hlName") as HyperLink).Text = drv["Name"].ToString();
(e.Item.FindControl("hlName") as HyperLink).NavigateUrl = "AreaSmallList.aspx?Area="+drv["Name"].ToString()+"&Parent_ID="+dg.DataKeys[e.Item.ItemIndex].ToString();
}
}
}
#endregion
/// <summary>
/// ItemCommand事件处理函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
///
protected void dg_ItemCommand(object sender, DataGridCommandEventArgs e)
{
string commandName = e.CommandName;
//根据CommandName 执行不同的操作
switch (commandName)
{
case "Add":
AddData(e);
break;
case "Edit":
dg.EditItemIndex = e.Item.ItemIndex;
break;
case "Update":
UpdateData(e);
dg.EditItemIndex = -1;
break;
case "Cancel":
dg.EditItemIndex = -1;
break;
case "Delete":
DeleteData(e);
break;
}
this.dg.ShowFooter = false;
}
#region 相关Command处理函数
/// <summary>
/// 添加数据
/// </summary>
/// <param name="e"></param>
protected void AddData(DataGridCommandEventArgs e)
{
//相关处理
}
/// <summary>
/// 删除指定记录行数据
/// </summary>
/// <param name="e"></param>
private void DeleteData(DataGridCommandEventArgs e)
{
//相关处理
}
/// <summary>
/// 更新数据
/// </summary>
/// <param name="e"></param>
private void UpdateData(DataGridCommandEventArgs e)
{
//相关处理
}
#endregion
相关文章推荐
- 用C语言模拟实现一个通讯录,要求实现其添加、删除、修改、查找、显示和排序联系人信息的功能
- JS实现动态表格的添加,修改,删除功能(推荐)
- 利用DhtmlXtree实现展现,修改,添加,删除,移动功能一棵树上实现,iframe的单个滑动条显示,包含在iframe中树节点中文内容过长问题解决
- 用线性表编写通讯录管理系统 实现添加,查询,修改,删除功能
- easyui datagrid实现批量添加、删除、修改,列多对多动态配比
- lucene功能四;索引库的维护;索引库的添加;修改;删除;及代码实现;代码示例
- 一个lucene索引初始化,添加,删除,修改功能的实现
- (VB.net) 利用DataGrid实现查找, 编辑, 修改, 更新, 删除的功能。
- datagrid的修改和删除功能的实现
- [Extjs6]随记 创建store 实现添加、修改、删除功能
- C语言单链表的建立,查找,添加,删除,修改功能实现
- Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能
- JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
- 这是一个关于XML文档的操作管理器XMLHelper类,类中包括XML文档的创建,文档节点和属性的读取,添加,修改,删除的方法功能的实现
- 死亡历险,翻开新的一篇之Delphi 连接 JAVA WebService,并实现查找,添加,修改,删除等功能
- mybatis学习笔记-实现添加修改删除用户功能
- [Extjs6]随记 创建store 实现添加、修改、删除功能
- C#中DataGrid分页,修改,更新,删除功能的实现
- Ztree树形菜单实现动态初始化、添加、删除、修改节点
- TreeView树型菜单添加,修改,删除,绑定DropDownList功能