DevExpress之ASPxGridView笔记(1)
1.设置Row(某列)输出格式,例如,在数字前加美元符、每3位以逗号隔开及设置小数点后两位:
<dx:GridViewDataTextColumn FieldName="SHOUHUIJEC" Caption="收汇金额" VisibleIndex="8" PropertiesTextEdit-DisplayFormatString="${0:#,##0.00;-#,##0.00;0}" Width="8%" />
2. ASPxGridView数据绑定中,KeyFieldName的值区分大小写,即一定要与数据库的键值大小写一致。
3.设置每页显示数目
<dx:ASPxGridView>
<SettingsPager Position="Bottom" PageSize="10" Summary-Text=" 第{0}/{1}页(共{2}条)" PageSizeItemSettings-Caption="每页大小:">
<PageSizeItemSettings Visible="true" ShowAllItem="true" />
</SettingsPager>
</dx:ASPxGridView>
4. DevExpress的主题设置:
方法1:
protected void Page_PreInit(object sender, EventArgs e){
//设置DevExpress的皮肤,可以写在aspx.cs或global.asax中
DevExpress.Web.ASPxClasses.ASPxWebControl.GlobalTheme = "Office2010Blue";
}
方法2:直接在ASPxGridView中的Theme属性设置
5. DevExpress数据库绑定中字符串的写法
方法1:直接写连接字符串
方法2:
<asp:SqlDataSource ConnectionString="<%$ ConnectionStrings:MySql %>"/>
/*连接字符串在Web.config中*/
6.如果想设置排序时固定列宽,需要设置每一列的宽度
7.主从表,导出是否包含详细列表
<dx:ASPxCheckBox ID="chkSingleExpanded" runat="server" Text="只展开一项" AutoPostBack="true" OnCheckedChanged="chkSingleExpanded_CheckedChanged" />
protected void chkSingleExpanded_CheckedChanged(object sender, EventArgs e){
grid.SettingsDetail.AllowOnlyOneMasterRowExpanded = chkSingleExpanded.Checked;
if (grid.SettingsDetail.AllowOnlyOneMasterRowExpanded){
grid.DetailRows.CollapseAllRows();
}
}
8.显示列汇总
<dx:ASPxGridView>
<dx:ASPxSummaryItem FieldName="NAME" SummaryType="Count" DisplayFormat="{0:汇 总}" />
</dx:ASPxGridView>
9.无刷新操作
<asp:UpdatePanel ID="UpdatePanel" runat="server">
<ContentTemplate>
/*********中间代码忽略**********/
</ContentTemplate>
</asp:UpdatePanel>
10.取消ASPxGridView的Row排序
<ClientSideEvents ColumnSorting="function(s, e) {e.cancel = true; }" />
11.某行或某列颜色区分
//改变当前处理列的颜色
protected void ASPxGridView1_HtmlDataCellPrepared(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewTableDataCellEventArgs e)
{
if (e.DataColumn.FieldName == "LEFTMONEY")
{
if (float.Parse(e.CellValue.ToString()) < )
{
e.Cell.ForeColor = System.Drawing.Color.Red;
}
}
} //改变当前处理行的颜色
protected void ASPxGridView1_HtmlRowPrepared(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewTableRowEventArgs e)
{
if (e.RowType != DevExpress.Web.ASPxGridView.GridViewRowType.Data) return;
string ispick = e.GetValue("IsPromotion").ToString();
if (ispick == "")
{
e.Row.ForeColor = System.Drawing.Color.Red;
}
}
12.主从表,后台获取从表
ASPxGridView detailGrid = grid.FindDetailRowTemplateControl(index, "detailGrid") as ASPxGridView;
13.主从表,显示或隐藏从表某列
protected void detailGrid_Load(object sender, EventArgs e)
{
(sender as ASPxGridView).Columns["HKDATE"].Visible = chkHidden.Checked;
}
14.在表中点击ASPxCheckBox就可以直接改变ASPxCheckBox的值及更新数据
<dx:GridViewDataCheckColumn FieldName="KPSH" Caption="开票" VisibleIndex="1" >
<DataItemTemplate>
<dx:ASPxCheckBox ID="chkKPSH" ClientInstanceName="chkKPSH" runat="server" Value='<%# Eval("KPSH") %>' OnInit="chk_Init" ReadOnly="True" CheckedImage-ToolTip="Checked" UncheckedImage-ToolTip="UnChecked" />
</DataItemTemplate>
</d:GridViewDataCheckColumn>
<dx:GridViewDataCheckColumn FieldName="CWSH" Caption="审核" VisibleIndex="2" >
<DataItemTemplate>
<dx:ASPxCheckBox ID="chkCWSH" ClientInstanceName="chkCWSH" runat="server" Value='<%# Eval("CWSH") %>' OnInit="chk_Init" ReadOnly="True" CheckedImage-ToolTip="Checked" UncheckedImage-ToolTip="UnChecked" />
</DataItemTemplate>
</dx:GridViewDataCheckColumn>
<dx:ASPxCallback ID="cb" runat="server" ClientInstanceName="cb" OnCallback="cb_Callback" />
protected void chk_Init(object sender, EventArgs e)
{
ASPxCheckBox chk = sender as ASPxCheckBox;
GridViewDataItemTemplateContainer container = chk.NamingContainer as GridViewDataItemTemplateContainer;
string caoZuo = "锁定";
if ((bool)grid.GetRowValues(container.VisibleIndex, container.Column.FieldName)) { caoZuo = "解锁"; }
chk.ClientSideEvents.CheckedChanged = String.Format("function (s, e) {{ cb.PerformCallback(confirm('确定要 {0} 吗?')+'|{1}|{2}|' + s.GetChecked());grid.Refresh(); }}", caoZuo, container.Column.FieldName, container.KeyValue);
}
protected void cb_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e){
String[] p = e.Parameter.Split('|');
if (p[] != "true") return;
DataBaseClass db = new DataBaseClass();
if (p[] == "KPSH")
{
string sSql = "UPDATE table SET KPSH = @kpsh WHERE id = @id";
SqlParameter[] pa = new SqlParameter[];
pa[] = new SqlParameter("@kpsh", Convert.ToBoolean(p[]));
pa[] = new SqlParameter("@id", Convert.ToInt32(p[]));
db.ExeSql2(sSql, pa);
}
else
{
string sSql = "UPDATE table SET CWSH = @cwsh WHERE id = @id";
SqlParameter[] pa = new SqlParameter[];
pa[] = new SqlParameter("@cwsh", Convert.ToBoolean(p[]));
pa[] = new SqlParameter("@id", Convert.ToInt32(p[]));
db.ExeSql2(sSql, pa);
}
}
15.主从表,如果希望主从表导出格式可以自行设置请使用XtraReport
DevExpress之ASPxGridView笔记(1)的更多相关文章
- devexpress中ASPxGridView控件初始化赋值
写在ASPxGridView中OnCellEditorInitialize="ASPxGridView_progoods_CellEditorInitialize" 事件中: / ...
- Devexpress 使用经验 —— ASPxGridView命令行自定义按钮灵活使用
ASPX <dx:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="Ob ...
- Devexpress 使用经验 —— ASPxGridView前后台交互写法推荐
这里的格式是仁者见仁智者见智,这篇随笔只是我在工作过程中总结出的阅读性高,对我来说效率较高的写法. ASPX: <dx:ASPxGridView ID="ASPxGridViewLin ...
- DevExpress Add ASPxGridView template columns at runtime
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %> <%@ Import Namespace ...
- DevExpress.XtraReports:XRPivotGrid 笔记
1. DevExpress.XtraReports:XrPivotGrid 显示时间为"0"的 格式问题: 把xrPivotGridField1的SummaryType改为&quo ...
- Devexpress Winform初学笔记
作为一个软件开发人员来说,得有自己的博客,可以用来ZB,哈哈!玩笑话..... 写博客并不仅仅是用来ZB的,他可以用来记录你在技术道路上探索遇到的坎,当然也有提高逼格的次然因素啦!小弟刚入博客园不久, ...
- devExpress GridControl gridView笔记
gridView1.Appearance.EvenRow.BackColor = Color.FromArgb(, , , ); gridView1.Appearance.OddRow.BackCol ...
- DevExpress的 ASPxGridview控件的自动配置效果
[淘宝小店:http://shop107919332.taobao.com ] 软件运行界面.是不是很漂亮? 这里是系统配置页面,可以随时根据需要配置每张表的每个字段的显示顺序,可见与否,只读与否,编 ...
- DevExpress控件使用系列--ASPxGridView+Popup+Tab
1.控件功能 列表控件展示数据.弹框控件执行编辑操作.Tab控件实现多标签编辑操官方说明 2.官方示例 2.1 ASPxGridView http ...
随机推荐
- JAVA中关于同步与死锁的问题
java中当多个现成同时操纵同一资源的时候需要考虑同步的问题.如车站售票,不同售票点卖同一班次车票的时候就要同步,否则卖票会有问题.下面代码模拟车站卖票: class TicketSeller imp ...
- wait(0)
public final synchronized void join(long millis) throws InterruptedException { long base = System.cu ...
- nginx优化之request_time 和upstream_response_time差别
笔者在根据nginx的accesslog中$request_time进行程序优化时,发现有个接口,直接返回数据,平均的$request_time也比较大.原来$request_time包含了(服务器) ...
- sikuli
1.sikuli和selenium集成问题,用java封装一个方法去操作web页面上的一些无法定位的控件 http://bbs.csdn.net/topics/390720479/ 2.关于Siku ...
- poj 1753 Flip Game
点击打开链接 Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 25674 Accepted: 1109 ...
- [ZOJ 3662] Math Magic (动态规划+状态压缩)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3662 之前写过这道题,结果被康神吐槽说代码写的挫. 的确,那时候 ...
- (整理)C#实现UDP广播
(一) IP地址解析 IP地址的类型:XXX.XXX.XXX.XXXA类: 1.0.0.1--126.255.255.254 最高位是0: 1个字节的网络地址和3个地址的主机地址 测试地址:127.X ...
- Android的消息处理机制,handler,message,looper(一)
当应用程序启动时,Android首先会开启一个主线程(也就是UI线程),主线程为管理界面中的UI控件.在程序开发时,对于比较耗时的操作,通常会为其开辟一个单独的线程来执行,以尽可能减少用户的等待时间. ...
- 【HTTP】POST 与 PUT 方法区别
1. POST 用于向服务端发送数据,常用于表单数据提交: PUT 用于向服务器上的资源(如文件)中存储数据: 2. 302 303 307 状态码区别 他们都是重定向(临时重定向 p.s 301 ...
- SMTP邮件发送命令
第一步,远程登录smtp服务器 在命令行窗口输入 telnet smtp.163.com 25 然后回车第二步,用户登录 输入 helo 163.com 回车,这是向服务器表明你的用户身份250 OK ...