DevExpress之ASPxGridView的基本用法摘录

本文详细介绍ASPxGridView的各种高级配置技巧,包括设置输出格式、数据绑定注意事项、页面显示优化、主题设置方法、主从表操作及交互式数据更新等。适合希望提升ASPxGridView使用效率的开发者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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



</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属性设置

  1. 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”>

/中间代码忽略*/

</asp:UpdatePanel>
10.取消ASPxGridView的Row排序

11.某行或某列颜色区分

复制代码
//改变当前处理列的颜色
protected void ASPxGridView1_HtmlDataCellPrepared(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewTableDataCellEventArgs e)
{
if (e.DataColumn.FieldName == “LEFTMONEY”)
{
if (float.Parse(e.CellValue.ToString()) < 0)
{
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 == “1”)
{
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” >

<dx:ASPxCheckBox ID=“chkKPSH” ClientInstanceName=“chkKPSH” runat=“server” Value=’<%# Eval(“KPSH”) %>’ OnInit=“chk_Init” ReadOnly=“True” CheckedImage-ToolTip=“Checked” UncheckedImage-ToolTip=“UnChecked” />

</d:GridViewDataCheckColumn>
<dx:GridViewDataCheckColumn FieldName=“CWSH” Caption=“审核” VisibleIndex=“2” >

<dx:ASPxCheckBox ID=“chkCWSH” ClientInstanceName=“chkCWSH” runat=“server” Value=’<%# Eval(“CWSH”) %>’ OnInit=“chk_Init” ReadOnly=“True” CheckedImage-ToolTip=“Checked” UncheckedImage-ToolTip=“UnChecked” />

</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[0] != “true”) return;
DataBaseClass db = new DataBaseClass();
if (p[1] == “KPSH”)
{
string sSql = “UPDATE table SET KPSH = @kpsh WHERE id = @id”;
SqlParameter[] pa = new SqlParameter[2];
pa[0] = new SqlParameter("@kpsh", Convert.ToBoolean(p[3]));
pa[1] = new SqlParameter("@id", Convert.ToInt32(p[2]));
db.ExeSql2(sSql, pa);
}
else
{
string sSql = “UPDATE table SET CWSH = @cwsh WHERE id = @id”;
SqlParameter[] pa = new SqlParameter[2];
pa[0] = new SqlParameter("@cwsh", Convert.ToBoolean(p[3]));
pa[1] = new SqlParameter("@id", Convert.ToInt32(p[2]));
db.ExeSql2(sSql, pa);
}
}
复制代码

15.主从表,如果希望主从表导出格式可以自行设置请使用XtraReport

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值