aspxgridview使用笔记
Aspxgridview可以实现直接导出excel、pdf等文档,对表中数据进行过滤等gridview无法实现的功能。
1.过滤(filtering)(即快速查找功能)
gridview的属性setting页中选择ShowFilterRow=True;
即可在表单上方出现过滤框。
2.导出文档
添加一个ASPxGridViewExporter控件到Page,将GridViewID设为需要导出数据的Grid,调用以下方法实现导出。
ASPxGridViewExporter1.WriteXlsToResponse
ASPxGridViewExporter1.WriteCvsToResponse
ASPxGridViewExporter1.WritePdfToResponse
ASPxGridViewExporter1.WriteRtfToResponse
例如导出excel文件
protected void Button1_Click(object sender, EventArgs e)
{
ASPxGridViewExporter1.FileName=DateTime.Now.ToString("yyyyMMddhhmmss") + 导出的数据表"; 导出文件的名称。
ASPxGridViewExporter1.GridViewID = "ASPxGridView1"; 导出文件数据的来源
ASPxGridViewExporter1.WriteXlsToResponse(); 导出为excel文件
}
3.删除提示
ASPxGridView自带的删除提示,设两个属性即可:
SettingsBehavior. ==> ConfirmDelete=True
==>allow drag drop= 是否允许用户通过拖拽改变表格列的位置
==>allow sellect by row click =允许用户通过点击某一行而选中某行,被选中行变色
==>allow sort = 允许通过点击列头进行排序
SettingsText ==> ConfirmDelete=要提示的字符串
Settings Text ==>CommandDelete=删除键名称
CommadEdit=修改键名称
4. Aspxgridview表单中某列的数据绑定
例。
<dx:GridViewDataTextColumn Caption="已保护扇区" FieldName="protectedsector"
VisibleIndex="4">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="计算机id" FieldName="hostid" VisibleIndex="5">
</dx:GridViewDataTextColumn>
此为表的两列。(aspx文件)
若想将hostid=1||2||3.....显示为字符串文字。
加入
<%@ Import NameSpace="FileManagerUI.Web" %> ---------先在aspx页面引用
<dx:GridViewDataTextColumn Caption="计算机id" FieldName="hostid" VisibleIndex="5">
<DataItemTemplate> //模板列
<%# cl.Tran(Eval("status").ToString ())%> //在cs文件cl类中,写Tran函数
</DataItemTemplate>
</dx:GridViewDataTextColumn>
Tran函数 public static string Tran(string si) //参数类型应和数据表中一致
{
int i = Convert.ToInt32(si);
if (i == 4)
return “好电脑”;
}
**<%# %>
5. get aspxgridview表中focusedrow 中某列的数据进行传递
Allowfocusedrow 设为true
<dx:GridViewDataHyperLinkColumn Caption="日志" FieldName="hostid" VisibleIndex="8"> //设置导航按钮新列
<PropertiesHyperLinkEdit NavigateUrlFormatString="/lg.aspx?hostid={0}"
Text="查看导出日志" TextFormatString="">
</PropertiesHyperLinkEdit> //设置超链接按钮功能
</dx:GridViewDataHyperLinkColumn>
6. 读取表中数据,显示在aspxgridview中
request 参数值。有,显示参数相同的行。无,显示全部行
SqlDataSource1.SelectCommand = "select * from clientlog order by logid desc";
String str = Request.QueryString["hostid"];
if (str != null)
{
SqlDataSource1.SelectCommand = "select * from clientlog where hostid='" + str + "' order by logid desc";
SqlDataSource1.DataBind();
}
7. 导出pdf中文出现乱码
修改字体,ASPxGridViewExporter1.Styles.Default.Font.Name = "Simsun";
***导出pdf由于列表长度太长导致pdf分为两页。
将aspxgridviewexporter控件的landscape属性设为true即可
8. aspxgridview 进度列
Columns --- progressBar
9. Aspxgridview 自动更新数据
拖一个timer控件。Interval属性设置自动更新间隔。后台代码写动作
protected void Timer1_Tick(object sender, EventArgs e)
{
}
10. Aspxgridview 删除列,进行验证
添加aspxgridview的itemdeleting事件进行验证。
删除后的操作在itemdeleted事件中写
插入时进行验证就是iteminserting事件