ASPxGridView1、数据绑定一、从左边工具箱中的数据拉出SqlDataSource,设置你的数据连接选择你要配置的Select语句设置完成二、将ASPxGridView的数据源绑定为SqlDataSource运行程序,2、排序和分组ASPxGridView支持单列或者多列数据分组分组时需要把settingBehavior.AllowGroup and SettingBehavior.AllowSort属性设置为True用户可以拖拉列表头到分组面板,分组面板可见性控制在setting.ShowGroupPanel属性public partial class ASPxGrid : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack)ASPxGridView1.GroupBy(ASPxGridView1.Columns["dptName"]); //设置分组的列 }}或者使用分组设置点击AspxGridView控件->右键–》列–》选中dptName在属性中选择GroupIndex 把它值改为1排序ASPxGridView允许用户点击列表头去对数据进行排序,设置AllowSort的属性为true.3、过滤行过滤行允许用户通过对单元格录入信息进行行过滤将Settings.ShowFilterRow 属性设置为True头过滤列头可以显示过滤按钮,点击过滤按钮可以条用过滤下拉列表,下拉列表显示当列中的唯一值允许你使用过滤规则。
通常情况下,这些按钮是隐藏的,如果要显示这么过滤按钮,必须设置Settings.ShowHeaderFilterButton 的属性为真ASPxGridView 允许你去建立个性化过滤值,定义过滤规则和实现过滤值在一个过滤列中的下拉过滤。
为了达到这个目的,我们必须使用HeaderFilterFillItems 事件。
protected void ASPxGridView1_HeaderFilterFillItems(object sender,DevExpress.Web.ASPxGridView.ASPxGridViewHeaderFilterEventArgs e){if (object.Equals(e.Column, ASPxGridView1.Columns["dptNo"])){PrepareQuantityFilterItems(e);return;}}protected virtual voidPrepareQuantityFilterItems(DevExpress.Web.ASPxGridView.ASPxGridViewHeaderFilterEventArg s e){e.Values.Clear();e.AddValue(string.Format("from {0} to {1}", 1, 2), string.Empty,string.Format("[dptNo] >= {0} and [dptNo] <= {1}", 1, 2));}显示结果如下过滤控制过滤控制允许用户去建立一个无限制数量的过滤条件的复杂的过滤标准,组成逻辑逻辑算法。
用户可以点击过滤表达式的链接打开过滤控制显示过滤和修改。
Settings->ShowFilterBar 属性设置为Visible4、统计功能4.1 总数统计总数统计能计算ASPxGridView中的所有行数据到页脚Settings.ShowFooter属性设置为true设置需要统计的列名F5运行,得到下面效果4.2 分组统计组统计展示分组后该组的所有行的统计值,组统计的值显示在组的行上4.2.1 首先要对该AspxGridView进行分组,分组方法见前面上述分组方法4.2.2 AspxGridView分组统计4.2.3 运行结果5、行选择将Enable Selected属性设置打钩AspxGridView 行前面多了一个选择列拖4个按钮在页面上,并为每个按钮设置事件全选<dx:ASPxButton ID="ASPxBtnSelectAll"runat="server"Text="全选"AutoPostBack="False"UseSubmitBehavior="False"><ClientSideEvents Click="function(s, e) {AspxGridView.SelectRows();}"/></dx:ASPxButton>全部不选择<dx:ASPxButton ID="ASPxBtnUnSelectAll"runat="server"Text="全不选"AutoPostBack="False"UseSubmitBehavior="False"><ClientSideEvents Click="function(s, e) {AspxGridView.UnselectRows();}"/></dx:ASPxButton>本页全选<dx:ASPxButton ID="ASPxButton1"runat="server"AutoPostBack="False"Text="本页全选"UseSubmitBehavior="False"><ClientSideEvents Click="function(s, e) {AspxGridView.SelectAllRowsOnPage()}"/></dx:ASPxButton>本页全不选<dx:ASPxButton ID="ASPxButton2"runat="server"AutoPostBack="False"Text="本页全不选"UseSubmitBehavior="False"><ClientSideEvents Click="function(s, e) {AspxGridView.UnselectAllRowsOnPage()}"/></dx:ASPxButton>获取所选择行的值List<object> keyValues = ASPxGridView1.("ID"); StringBuilder sb = new StringBuilder(keyValues[0].ToString()); foreach (object key in keyValues) {string ID = new Parameter("ID",TypeCode.Int32,key.ToString());}6、多表头设计对于国内很多公司而言,一般都需要一个多表头的表格。
必须要把虚拟的列设置为一种特别的列类型-GridViewBankColumn. 联合列是一个不同类型的列,它只表述而不直接表述数据的值,但是包括其他子列的集合。
6.1 新建一个Bank列,并将Caption设置表头6.2 将需要合并的列拖入bank列里。
运行效果7、Grid Rows7.1 交替色为了增加可读行,你可以加亮不同行不同的样式。
首先设置Styles.AlternatiingRow.Enabled 属性为true. 同时设置styles.AlternatingRow 的BackColor等其他属性。
7.2 网格行的网络线设置ASPxGridView Settings ->GridLines =Both7.3 焦点行默认情况下,焦点行的特性是取消的。
为了启用它,应该将SettingsBehavior.AllowFocusedRow 设置为True8、数据分页和滚动8.1ASpxGridView允许横或者竖的滚动条在小的网格控件展示数据默认的情况下,网格的高度是定义每页多少条记录,控制于SettingsPager.PageSize属性Settings->ShowVertivalScrollBar 属性为true verticalScrollbaleHeight 设置它的高度Settings->ShowHorizontalScrllBar 属性为true8.2 冻结列列属性中选择FixedStyle =left9、数据导出9.1 全部导出protected void btnPdfExport_Click(object sender,EventArgs e){gridExport.WritePdfToResponse();}protected void btnXlsExport_Click(object sender,EventArgs e){gridExport.WriteXlsToResponse();}protected void btnXlsxExport_Click(object sender,EventArgs e){gridExport.WriteXlsxToResponse();}protected void btnRtfExport_Click(object sender,EventArgs e){gridExport.WriteRtfToResponse();}protected void btnCsvExport_Click(object sender,EventArgs e){gridExport.WriteCsvToResponse();}部分导出ASPxGridViewExporter’s ExportedRowType属性设置为Selected10、ASPxGridView支持复杂的主表—细表结构10.1 创建2个ASPxGridView控件。
绑定第一个AspxGridView控件,设置SettingsDetail.ShowDetailRow 为true.编辑模板选择DetailRow ,然后将第二个AspxGridView拖入模板内。