一。ASPXGridView外观显示
属性:
Caption----
列的标题(
KeyFieldName----
数据库字段
SEOFriendly 是否启用搜索引擎优化
Summary 指定分页汇总信息的格式
Setting节点的ShowFilterRow=
True设置快速查找功能
SettingsBehavior.AllowFocusedRow=true
高亮选中的行,即选中行变色
SettingsBehavior.AllDragDrop=
false禁止拖动标题列头
SettingsBehavior.AllowSort实现列头点击后是否可以排序
SettingsPager.ShowEmptyDataRows=
True;当数据行为空时,显示空行
SettingsPager.PageSize 每页显示的记录总数
AllButton.Text “全部数据显示”按钮的文本
AllButton.Visible 是否显示“全部数据显示”按钮
FirstPageBuotton/LastPageButton/NextPageButton/PrevPageButton/
对应首页、末页、下页、上页,设置同上。
NumericButtonCount 最小值为1,控制页码显示个数
protectedvoid ASPxGridView1_PageIndexChanged(object
sender, EventArgs e)
{
databind();//只需重新绑定数据即可实现上下翻页
}
新建的列默认是GridViewDataTextColumn类型,选择工具栏的Change To变更列的类型,可以改变新增或修改时的编辑方式。
设置日期类型显示格式,在“行为”PropertiesDateEdit--DisplayFormatString--例如:{0
:yyyy年MM月}
当选择了show Group Panel时,FocusedRowChanged事件,重绑定数据,使用时先选中行,再查看
protectedvoid ASPxGridView1_FocusedRowChanged(object
sender, EventArgs e)
{
getdata();
}
禁止某一列进行编辑,该列的行为-EditFormSettings-Visible=
False
代码中隐藏编辑列的增加,删除,更新按钮
(ASPxGridView1.Columns[编辑列] as GridViewCommandColumn).NewButton .Visible=true
;
(ASPxGridView1.Columns[编辑列] as GridViewCommandColumn).DeleteButton.Visible =true
;
(ASPxGridView1.Columns[8] as GridViewCommandColumn).UpdateButton .Visible=true
;
二。ASPXGridView绑定数据
ASPxGridView1.KeyFieldName ="ID";//指定主键。直接更新数据和子表绑定 需要用到
ASPxGridView1.DataSource
= dt.defaultView;//指定Grid的数据
ASPxGridView1.DataBind(); //执行绑定
注意,如果查询结果字段有别名,编辑该字段时,UnboundType应设为Object
三。ASPXGridView查找
过滤数据,查找数据
方式一、展开列标题旁边的过滤清单过滤数据(类似Excel的过滤方式)grid.Settings.ShowHeaderFilterButton=true;过滤清单列出了该列出现的所有数据。还可以自定义过滤清单的内容,用法参阅:http://demos.devexpress.com/ASPxGridViewDemos/Filtering/HeaderFilter.aspx
方式二、在列头显示字段过滤条件输入框 grid.Settings.ShowFilterRow
=true; 显示条件判断方式下拉列表grid.Settings.ShowFilterRowMenu =true
;
四删除数据
protectedvoid ASPxGridView1_RowDeleting(object
sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
{
e.Cancel =true;//否则,只有刷新页面才能看到删除后的结果
int id =Convert.ToInt32( e.Keys[0]);//获取ID
upd.DelDownFileList(id);//从数据库删除记录
UpLoadFileListBind();//数据表绑定
}
ASPxGridView自带的删除提示,设两个属性即可:
SettingsBehavior.
==> ConfirmDelete=
True
SettingsText ==> ConfirmDelete=
要提示的字符串
五.更新
取值 用e.NewValues[索引]
并且记得更新数据后 ASPxGridView1.CancelEdit();//结束编辑状态
e.Cancel =true
;
bind();
例子: //更新
protectedvoid ASPxGridView1_RowUpdating(object
sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
{
Bill.Message m =new
Bill.Message();
//取值 用e.NewValues[索引]
string id = Convert.ToString(e.Keys[0
]);
string event_date = e.NewValues[1
].ToString();
string event_title = e.NewValues[2
].ToString();
string event_description = e.NewValues[3
].ToString();
string tag = e.NewValues[4
].ToString();
m.Message_update(id, event_date, event_title, event_description, tag);
ASPxGridView1.CancelEdit();//结束编辑状态
e.Cancel =true
;
bind();
}
六排序
在BeforeColumnSortingGrouping事件中重新绑定一下数据
七.分页
PageIndexChanged事件里重新绑定一下数据
1
.动态添加非数据绑定列,例子:动态添加行号列
if (!
IsPostBack)
{
//动态添加行号非绑定数据
GridViewDataTextColumn dl =new
GridViewDataTextColumn();
dl.Caption ="行号"
;
dl.FieldName ="hh";//该列绑定的字段hh
dl.UnboundType = DevExpress.Data.UnboundColumnType.String;//非数据绑定类型为字符型
dl.PropertiesTextEdit.DisplayFormatString ="c";//显示字符的格式
dl.PropertiesTextEdit.FocusedStyle.ForeColor =
System.Drawing.Color.Red;
dl.VisibleIndex =0;//设置行号列的索引位置
ASPxGridView1.Columns.Insert(0, dl);//把行号列插入0之前
getdata();
ASPxGridView1.Caption ="IP为"+GetClientIP()+"的用户,正在查看网银终端更新内容"
;
}
在CustomUnboundColumnData事件中
protectedvoid ASPxGridView1_CustomUnboundColumnData(object
sender, ASPxGridViewColumnDataEventArgs e)
{
if (e.Column.FieldName =="hh"&&
e.IsGetData)
e.Value = (e.ListSourceRowIndex +1
).ToString();
}
2
.ASPxComboBox列的相关操作
简单的方法是
1
.FiledName写主表与此字段有关联外键字段:例如uid
2
.在PropertiesCombobox下面找这几个属性:
然后在客户姓名的这一列的DataSourceId,给它绑定上我们字表的ObjectDataSource
在TextField设置字段名称,例如:name
在ValueField设置名称应该就是字表的主键(也就是主表引用字表的外键),例如:uid
这样就可以轻松做到,不用写代码,绑定多张表
手写代码的方法来绑定ASPxComboBox
在aspx中将该列的-行为-PropertiesComboBox-
ValuesType设为System.String避免ComboBox出现无法选中的现象
using
DevExpress.Web.ASPxGridView;
using
DevExpress.Web.ASPxEditors;
//在页面加载时,给combox列赋值,这里的workgroupID是在ASPxGridview中的Combox列绑定的字段
(ASPxGridView1.Columns["WorkgroupID"] asGridViewDataComboBoxColumn).PropertiesComboBox.ValueType =typeof(int
);
fangqm.Netbank.Core.groupInfo group=new
fangqm.Netbank.Core.groupInfo();
DataTable dt =group.groupSelectAll();//table
for (int i =0; i < dt.Rows.Count; i++
)
{
int id = Convert.ToInt32(dt.Rows[i][0
]);
string v= dt.Rows[i][1
].ToString();
(ASPxGridView1.Columns["WorkgroupID"] asGridViewDataComboBoxColumn).PropertiesComboBox.Items.Add(new
ListEditItem(v, id));
}
在表格进行更新,添加操作时,e.NewValues[1
])即可取到客户端的值,例如:
model.WorkgroupID = Convert.ToInt32(e.NewValues[1]);