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()) < 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" >
   <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[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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM