后台帮定代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Datagrid();
}
private void Datagrid()
{
DataTable data = DB.FillDataTable_Pro("select top 40 * from bi_t_item_info");
this.ASPxGridView1.DataSource = data;
this.ASPxGridView1.DataBind();
}
//删除事件
protected void ASPxGridView1_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
{
string str = e.Keys[0].ToString();
DB.ExecuteScalar(string.Format("delete bi_t_item_info where item_no='{0}'", str));
e.Cancel = true;
Datagrid();
}
}
前台代码:
<dx:ASPxGridView ID="ASPxGridView1" runat="server" OnRowDeleting="ASPxGridView1_RowDeleting"
OnDataBound="ASPxGridView1_DataBound" KeyFieldName="item_no">
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0" ShowSelectCheckbox="True">
<EditButton Visible="True" Text="编辑">
</EditButton>
<DeleteButton Visible="True" Text="删除">
</DeleteButton>
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn Caption="编号" FieldName="item_no" Name="item_no" VisibleIndex="0"
ReadOnly="true">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="条码" FieldName="barcode" Name="barcode" VisibleIndex="1"
ReadOnly="true">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="单位" FieldName="unit_no" Name="unit_no" VisibleIndex="2"
ReadOnly="true">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="名称" FieldName="item_name" Name="item_name" VisibleIndex="3"
ReadOnly="false">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="零售价" FieldName="sale_price" Name="sale_price"
VisibleIndex="4" ReadOnly="false">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="备注" FieldName="item_other3" Name="sale_price"
VisibleIndex="4" ReadOnly="false">
</dx:GridViewDataTextColumn>
</Columns>
<SettingsBehavior AllowSelectByRowClick="True" ConfirmDelete="True" />
</dx:ASPxGridView>
要注意的是,有红色标示地方,此处必须是主键,我就是因为这个地方没有邦定主键,删除事件不执行,查了好久才查出来!
对于ASPxGridView删除按钮的确认弹出框,只需要简单设置几个属性即可。
1.首先自然要先启用行的删除功能。
2.然后设置ASPxGridView的SettingsBehavior的ConfirmDelete属性为Ture,即启用删除功能的确认框。
3.设置弹出框内容文本。在ASPxGridView的SettingsText中设置ConfirmDelete属性为”确定要删除吗?”即可。
几个常用属性
IsEditing : 是否处于编辑状态
IsNewRowEditing : 是否是新建行的编辑状态
GridLines="Vertical" : 网格样式 Vertical, Both, None
ShowGroupPanel="True" : 分组面板
ShowFooter="True" : 脚注面板
ShowFilterRow="True" : 过滤器行
ShowHeaderFilterButton="true" : 表头过滤按钮
ShowGroupFooter="VisibleAlways" : 分组脚注面板 Hidden | VisibleIfExpand | VisibleAlways
ShowPreview="true" : 预览面板
ShowVerticalScrollBar="True" : 垂直滚动条
VerticalScrollableHeight="250" : 垂直滚动条
SettingsBehavior
AllowDragDrop="False" : 允许托拽
ColumnResizeMode="Control" : 列宽度调整模式
AllowFocusedRow="True" : 鼠标点击选择行
PageSize="30" : 分页大小
Mode="ShowAllRecords" : 展示模式
SEOFriendly="Enabled" : Search engine friendly
Position="TopAndBottom" : 分页控件位置
SettingsText
Title="标题"
EmptyDataRow="无数据"
PopupEditFormCaption="编辑"
ConfirmDelete="确定删除?"
编辑模式 SettingsEditing.Mode
EditForm : 当前行转化为表单,嵌入在行中
EditFormAndDisplayRow : 同EditForm,但保留当前行
Inline : 在当前行现场编辑
PopupEditForm : 弹出窗口编辑
几个常用方法
获取单元格的值
decimal change = (decimal)grid.GetRowValues(e.VisibleIndex, "Change");
获取模板中的控件
Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changePercent") as Label;