zoukankan      html  css  js  c++  java
  • aspx控件属性

    ASPxGridView属性:概述设置(Settings)
        <Settings 
            GridLines="Vertical"            : 网格样式 Vertical, Both, None
            ShowGroupPanel="True"           : 分组面板
            ShowFooter="True"               : 脚注面板
            ShowFilterRow="True"            : 过滤器行
            ShowHeaderFilterButton="true"   : 表头过滤按钮

    ShowFilterBar                     :允许显示过滤工具条
            ShowGroupFooter="VisibleAlways" : 分组脚注面板 Hidden | VisibleIfExpand | VisibleAlways
            ShowPreview="true"              : 预览面板
            ShowVerticalScrollBar="True"    : 垂直滚动条
            VerticalScrollableHeight="250"  : 垂直滚动条
            />

    行为设置(SettingsBehavior)
        <SettingsBehavior 
            AllowDragDrop="False"           : 允许托拽
            ColumnResizeMode="Control"      : 列宽度调整模式
            AllowFocusedRow="True"          : 鼠标点击选择行

    AllowSort                        :允许排序

    AllowGroup                      :允许分组

    autoExpandAllGroups            :自动展开所有组

    ConfirmDelete                  :允许提交删除

    AllowMultiSelection            :允许选择多行

    />

    分页(SettingsPager)
        <SettingsPager 
            PageSize="30"                   : 分页大小
            Mode="ShowAllRecords"           : 展示模式
            SEOFriendly="Enabled"           : Search engine friendly
            Position="TopAndBottom"         : 分页控件位置
            >
            <Summary AllPagesText="页: {0} / {1} ({2}行)" />
        </SettingsPager>

    文本设置(SettingsText)
           <SettingsText
            Title="标题"
            EmptyDataRow="无数据
            PopupEditFormCaption="编辑
            ConfirmDelete="确定删除?
            />

    Loading 面板设置(SettingsLoadingPanel)
        <SettingsLoadingPanel Mode="ShowOnStatusBar" />


    编辑视图设置(SettingsEditing)
        <SettingsEditing 
            PopupEditFormWidth = "600px" 
            NewItemRowPosition = "Bottom"
            Mode = "PopupEditForm"
            />

    编辑模式 SettingsEditing.Mode
                EditForm               : 当前行转化为表单,嵌入在行中
                EditFormAndDisplayRow  : 同EditForm,但保留当前行
                Inline                 : 在当前行现场编辑
                PopupEditForm          : 弹出窗口编辑

    行详细设置(SettingDetail)

    <SettingDetail

    AllowOnlyOneMasterRowExpanded  :允许只展开一列详细信息

    ShowDetailRow                  :允许显示详细列表

     IsDetailGrid                  :允许显示分组

    动态选中某一行:

    AspxgridView1.Selection.SetSelection(i.true)

    遍历所有行:

    声明变量:DataRowView dv

             For(int i=0;i< AspxgridView1.VisbleRowCount;i++)

    {

    选中行提取数据:if(AspxgridView1.Selection.IsRowSelected(i))

    {

    行数据集  dv=(DataRowView)AspxgridView1.GetRow(i);

    }

    }

     

    ASPxGridView样式 &格式
    ---------------------------------------------------------
    集中式样式
        <Styles>
            <Header HorizontalAlign="Center" />      : 标题居中对齐
            <AlternatingRow Enabled="true"/>         : 交错行效果
            <CommandColumn Paddings-Padding="1" />   : 
        </Styles>

    列样式
        <dxwgv:GridViewDataTextColumn FieldName="Total" UnboundType="Decimal">
            <FooterCellStyle ForeColor="Brown"/>
        </dxwgv:GridViewDataTextColumn>

    数字日期格式
        金额
            <dxwgv:GridViewDataTextColumn FieldName="UnitPrice" >
                <PropertiesTextEdit DisplayFormatString="c" />
            </dxwgv:GridViewDataTextColumn>
        时间
            <dxwgv:GridViewDataDateColumn Caption="Time" FieldName="Time">
                <PropertiesDateEdit DisplayFormatString="HH:mm:ss" />
                <CellStyle HorizontalAlign="Right" />
            </dxwgv:GridViewDataDateColumn>

    图像
        <Images ImageFolder="~/App_Themes/Glass/{0}/">
            <CollapsedButton Height="12px" Width="11px" />
            <DetailCollapsedButton Height="9px" Width="9px" />
            <PopupEditFormWindowClose Height="17px" Width="17px" />
        </Images>

     

    ASPxGridView分组 &汇总 &排序
    ---------------------------------------------------------
    间隔分组:将时间日期字段按个性分组,如年、月、日、周、季度、上周、下周.....
        <dxwgv:GridViewDataDateColumn FieldName="OrderDate" VisibleIndex="3" GroupIndex="0">
            <Settings  GroupInterval="DateYear"/>
        </dxwgv:GridViewDataDateColumn>

    汇总
        <TotalSummary>
            <dxwgv:ASPxSummaryItem FieldName="CompanyName" SummaryType="Count"/>
            <dxwgv:ASPxSummaryItem FieldName="Total" SummaryType="Sum" DisplayFormat="c"/>
            <dxwgv:ASPxSummaryItem FieldName="Quantity" SummaryType="Min" />
            <dxwgv:ASPxSummaryItem FieldName="Quantity" SummaryType="Average" />
            <dxwgv:ASPxSummaryItem FieldName="Quantity" SummaryType="Max" />
        </TotalSummary>
            
    分组汇总
        <GroupSummary>
            <dxwgv:ASPxSummaryItem FieldName="Country" SummaryType="Count" />
            <dxwgv:ASPxSummaryItem FieldName="Quantity" SummaryType="Sum" />
            <dxwgv:ASPxSummaryItem FieldName="Total" SummaryType="Sum"  DisplayFormat="{0:c}"/>
        </GroupSummary>

     

    ASPxGridView 列:
    ---------------------------------------------------------
    基本列(GridViewDataColumn)
        <dxwgv:GridViewDataColumn FieldName="Country" VisibleIndex="5" />

    其他列
        <dx:GridViewDataTextColumn />          : 文本列
        <dx:GridViewDataMemoColumn />          : 长文本列
        <dx:GridViewDataImageColumn />         : 图像列
        <dx:GridViewDataBinaryImageColumn />   : 二进制图像列
        <dx:GridViewDataDateColumn />          : 日期列
        <dx:GridViewDataTimeEditColumn />      : 时间列
        <dx:GridViewDataComboBoxColumn />      : 组合框列
        <dx:GridViewDataDropDownEditColumn />  : 下拉框编辑列?
        <dx:GridViewCommandColumn />           : 命令按钮列
        <dx:GridViewDataButtonEditColumn />    : 编辑按钮列?
        <dx:GridViewDataCheckColumn />         : 复选框列
        <dx:GridViewDataColorEditColumn />     : 色彩列
        <dx:GridViewDataHyperLinkColumn />     : 超链接列
        <dx:GridViewDataProgressBarColumn />   : 进度条列
        <dx:GridViewDataSpinEditColumn />      : SpinEdit


    长文本列(GridViewDataMemoColumn
        编辑时展现为多行文本框
        <dx:GridViewDataMemoColumn  FieldName="Remarks" Caption="备注"  
            EditCellStyle-BackColor="Yellow"         // 行的背景颜色
            PropertiesMemoEdit-Rows="4"           // 添加或是修改时跨行
            EditFormSettings-ColumnSpan="2"       //添加或是修改时跨列
            />

    超链接列(GridViewDataHyperLinkColumn)
        <dx:GridViewDataHyperLinkColumn FieldName="ArticleId" Caption="查看"  >
             <PropertiesHyperLinkEdit Text="查看" TextFormatString="" />
        </dx:GridViewDataHyperLinkColumn>

    组合框列(GridViewDataComboBoxColumn
        <dx:ASPxGridView OnCellEditorInitialize="grid_CellEditorInitialize">
            <dxwgv:GridViewDataComboBoxColumn FieldName="City" VisibleIndex="2">
                <PropertiesComboBox EnableSynchronization="False" EnableIncrementalFiltering="True"  DropDownStyle="DropDown" />
            </dxwgv:GridViewDataComboBoxColumn>
        </dx:ASPxGridView>
        protected void grid_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e) 
        {
            // 用下拉框展示国家下的所有城市绑定数据源
            if(grid.IsEditing && e.Column.FieldName != "City" && !grid.IsNewRowEditing)
            {
                ASPxComboBox combo = e.Editor as ASPxComboBox;
                string country = (string)grid.GetRowValuesByKeyValue(e.KeyValue, "Country");
                FillCityCombo(combo, country);
            }
        }

    命令按钮列(GridViewCommandColumn
          

     <dx:ASPxGridView runat="server" KeyFieldName="ID" 
                OnRowDeleting="gv_RowDeleting" OnRowUpdating="gv_RowUpdating" OnRowInserting="gv_RowInserting"
           

        <Columns>

     

     一种是添加图片的 <dx:GridViewCommandColumn VisibleIndex="0" ButtonType="Image" Caption=操作">

                            <EditButton Visible="True">

                                <Image ToolTip="修改" Url="Images/edit.png" />

                            </EditButton>

                            <NewButton Visible="True">

                                <Image ToolTip="新建" Url="Images/new.png" />

                            </NewButton>

                            <DeleteButton Visible="true">

                                <Image ToolTip="删除" Url="Images/del.png" />

                            </DeleteButton>

                            <CancelButton Visible="True">

                                <Image ToolTip="关闭" Url="Images/cancel.png" />

                            </CancelButton>

                            <UpdateButton Visible="True">

                                <Image ToolTip="保存" Url="Images/update.png" />

                            </UpdateButton>

                            <ClearFilterButton Visible="true">

                                <Image ToolTip="清空"  Url="Images/del2.png" />

                            </ClearFilterButton>

     

                            <HeaderStyle HorizontalAlign="Center" />

                        </dx:GridViewCommandColumn>
       一种就只这种标准的:     <dxwgv:GridViewCommandColumn>
                        <EditButton   Visible="True" Text="修改" />
                        <DeleteButton Visible="true" Text="删除" />
                        <NewButton    Visible="True" Text="新建" />
                        <CancelButton Visible="true" Text="取消" />
                        <UpdateButton Visible="true" Text="保存" />
                        <ClearFilterButton Visible="true" Text="取消过滤" />
                    </dxwgv:GridViewCommandColumn>
                </Columns>
            </dx:ASPxGridView>
            代码详见《ASPxGridView.DataBind
        复选框列
            <dxwgv:GridViewCommandColumn ShowSelectCheckbox="True"/>
            <dxwgv:GridViewCommandColumn ShowSelectCheckbox="True">
                 <HeaderTemplate>
                     <input type="checkbox" onclick="grid.SelectAllRowsOnPage(this.checked);" title="选择/放弃选择本页的所有行" />
                 </HeaderTemplate>
                 <HeaderStyle HorizontalAlign="Center" />
            </dxwgv:GridViewCommandColumn>
        自定义按钮
            “删除按钮
                <dx:GridViewCommandColumn Caption="删除">
                    <CustomButtons>
                        <dx:GridViewCommandColumnCustomButton ID="DeleteFile" Text="删除" />
                    </CustomButtons>
                </dx:GridViewCommandColumn>
                protected void gv_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e)
                {
                    if (e.ButtonID == "DeleteFile")
                    {
                        long fileId = Convert.ToInt64(gv.GetRowValues(e.VisibleIndex, "FileId"));
                        string fileName = gv.GetRowValues(e.VisibleIndex, "FileName").ToString();
                        string filePath = Common.Config.Path.PhysicalUploadFolder + gv.GetRowValues(e.VisibleIndex, "FilePath").ToString();
                        System.IO.File.Delete(filePath);
                        using (DbFile db = new DbFile())
                            db.DelFile(fileId);
                        ShowData(this.FileBatchId);
                    }
                }
            “复制行按钮
                <dx:ASPxGridView runat="server" OnCustomButtonCallback="grid_CustomButtonCallback">
                    <Columns>
                        <dxwgv:GridViewCommandColumn VisibleIndex="0">
                            <CustomButtons>
                                <dxwgv:GridViewCommandColumnCustomButton Text="复制行" ID="Copy" />
                            </CustomButtons>
                        </dxwgv:GridViewCommandColumn>
                    </Columns>
                </dx:ASPxGridView>
                Hashtable copiedValues;
                protected void grid_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e) 
                {
                    if(e.ButtonID == "Copy")
                    {
                        copiedValues = new Hashtable();
                        foreach(string fieldName in copiedFields)
                            copiedValues[fieldName] = grid.GetRowValues(e.VisibleIndex, fieldName);
                        grid.AddNewRow();
                    }
                }
                protected void grid_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e) 
                {
                    if(copiedValues != null)
                      foreach(string fieldName in copiedFields)
                          e.NewValues[fieldName] = copiedValues[fieldName];
                }


    非绑定列(GridViewDataTextColumn
        <dxwgv:GridViewDataTextColumn FieldName="Total" UnboundType="Decimal" />
        protected void grid_CustomUnboundColumnData(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewColumnDataEventArgs e) 
        {
            // Total = UnitPrice * Quantity
            if(e.Column.FieldName == "Total") 
            {
                decimal price = (decimal)e.GetListSourceFieldValue("UnitPrice");
                int quantity = Convert.ToInt32(e.GetListSourceFieldValue("Quantity"));
                e.Value = price * quantity;
            }
        }

    模板列(GridViewDataTextColumn
        onhtmlrowcreated="grid_HtmlRowCreated" 
        <dxwgv:GridViewDataTextColumn Name="Percent" Caption="Change" FieldName="Change">
            <DataItemTemplate>
                <asp:Image ID="changeImage" runat="server" ImageUrl="~/Images/arGreen.gif" Visible="false" GenerateEmptyAlternateText="True" />
                <asp:Label ID="changePercent" runat="server" Text="" />
                <a href="javascript:void(0);" onclick="OnMoreInfoClick(this, '<%# Container.KeyValue %>')">更多...</a>
                <a href="../pages/download.ashx?path=../uploads/<%#Eval("FilePath")%>&name=<%#Eval("FileName") %> " >下载</a>
            </DataItemTemplate>
        </dxwgv:GridViewDataTextColumn>
        protected void grid_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
        {
            if (!grid.IsEditing && e.RowType == DevExpress.Web.ASPxGridView.GridViewRowType.Data)
            {
                // 操作 Label 控件
                Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changePercent") as Label;
                decimal change = (decimal)grid.GetRowValues(e.VisibleIndex, "Change");
                label.Text = string.Format("{0:p}", change);
                // 操作 Image 控件
                System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changeImage");
                img.Visible = false;
                if(change != 0) 
                {
                    img.Visible = true;
                    img.ImageUrl = change < 0 ? "~/Images/arRed.gif" : "~/Images/arGreen.gif";
                    label.ForeColor = change < 0 ? Color.Red : Color.Green;
                }
            }
        }
        注:模板列中的事件如何写?手工写事件,如btn.OnClick += ...;
        注:视图模板请参考文档《ASPxGridView.Templates

     

    ASPxGridView 事件

    RowCreated(创建行数据时触发,类似 GridView DataItemCreate 事件)
        protected void grid_HtmlRowCreated(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewTableRowEventArgs e) 
        {
            if(e.RowType != DevExpress.Web.ASPxGridView.GridViewRowType.Data) return;
            // 设置模板列lable控件值
            Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changePercent") as Label;
            decimal change = (decimal)grid.GetRowValues(e.VisibleIndex, "Change");
            label.Text = string.Format("{0:p}", change);
            // 设置模板列image控件的图像
            System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changeImage");
            img.Visible = false;
            if(change != 0) {
                img.Visible = true;
                img.ImageUrl = change < 0 ? "~/Images/arRed.gif" : "~/Images/arGreen.gif";
                label.ForeColor = change < 0 ? Color.Red : Color.Green;
            }
        }

    HtmlRowPrepared(行准备?可在此设置行的展示效果,如背景)
        protected void grid_HtmlRowPrepared(object sender, ASPxGridViewTableRowEventArgs e) 
        {
            bool hasError = e.GetValue("FirstName").ToString().Length <= 1;
            hasError = hasError || e.GetValue("LastName").ToString().Length <= 1;
            hasError = hasError || !e.GetValue("Email").ToString().Contains("@");
            hasError = hasError || (int)e.GetValue("Age") < 18;
            DateTime arrival = (DateTime)e.GetValue("ArrivalDate");
            hasError = hasError || DateTime.Today.Year != arrival.Year || DateTime.Today.Month != arrival.Month;
            if(hasError) {
                e.Row.ForeColor = System.Drawing.Color.Red;
            }
        }

    UnboundColumnData (非绑定列数据填充)
        protected void grid_CustomUnboundColumnData(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewColumnDataEventArgs e) 
        {
            if(e.Column.FieldName == "Total") 
            {
                decimal price = (decimal)e.GetListSourceFieldValue("UnitPrice");
                int quantity = Convert.ToInt32(e.GetListSourceFieldValue("Quantity"));
                e.Value = price * quantity;
            }
        }

    CustomColumnDisplayText(定制列文本展示)
         protected void grid_CustomColumnDisplayText(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewColumnDisplayTextEventArgs e) 
         {
             if(object.Equals(e.Column, grid.Columns["Size"]))
                 e.DisplayText = GetSizeDisplayText(e.Value);
         }

    SummaryDisplayText(合计行文本展示)
         protected void grid_SummaryDisplayText(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewSummaryDisplayTextEventArgs e) {
             if(e.Item.FieldName == "Size") {
                 e.Text = GetSizeDisplayText(e.Value);
             }
         }

    HeaderFilterFillItems(自定义过滤器处理逻辑)
        protected void grid_HeaderFilterFillItems(object sender, ASPxGridViewHeaderFilterEventArgs e) 
        {
            if(object.Equals(e.Column, grid.Columns["Total"])) {
                PrepareTotalFilterItems(e);
                return;
            }
            if(object.Equals(e.Column, grid.Columns["Quantity"])) {
                PrepareQuantityFilterItems(e);
                return;
            }
        }

    ---------------------------------------------------------
    回调处理
    ---------------------------------------------------------
    CustomCallbackAjax 回调处理)
        <select id="selGridLayout" onchange="grid.PerformCallback(this.value);" >
            <option selected="selected" value="0">Country</option>
            <option value="1">Country, City</option>
            <option value="2">Company Name</option>
        </select>
        protected void grid_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e) 
        {
            int layoutIndex = -1;
            if(int.TryParse(e.Parameters, out layoutIndex))
                ApplyLayout(layoutIndex); // 更换布局
        }

    CustomButtonCallback(定制按钮的ajax回调处理)
        protected void grid_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e) 
        {
            if(e.ButtonID != "Copy") return;
            copiedValues = new Hashtable();
            foreach(string fieldName in copiedFields) 
                copiedValues[fieldName] = grid.GetRowValues(e.VisibleIndex, fieldName);
            
            grid.AddNewRow();
        }

    ---------------------------------------------------------
    编辑视图
    ---------------------------------------------------------
    InitNewRow(新建行的数据初始化处理)
        protected void grid_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e) 
        {
            if(copiedValues == null) return;
            foreach(string fieldName in copiedFields) {
                e.NewValues[fieldName] = copiedValues[fieldName];
            }
        }


    CellEditorInitialize(编辑器初始化)
        protected void grid_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e) 
        {
            if(grid.IsEditing && !grid.IsNewRowEditing && e.Column.FieldName == "City")
            {
                string country = (string)grid.GetRowValuesByKeyValue(e.KeyValue, "Country");
                ASPxComboBox combo = e.Editor as ASPxComboBox;
                FillCityCombo(combo, country);
                combo.Callback += new CallbackEventHandlerBase(cmbCity_OnCallback);
            }
        }

    StartRowEditing(开始编辑)
        protected void grid_StartRowEditing(object sender, DevExpress.Web.Data.ASPxStartRowEditingEventArgs e) 
        {
            if(!grid.IsNewRowEditing) {
                grid.DoRowValidation();
            }
        }

    RowValidating (行数据验证)
        protected void grid_RowValidating(object sender, DevExpress.Web.Data.ASPxDataValidationEventArgs e) 
        {
            foreach(GridViewColumn column in grid.Columns) {
                GridViewDataColumn dataColumn = column as GridViewDataColumn;
                if(dataColumn == null) continue;
                if(e.NewValues[dataColumn.FieldName] == null) {
                    e.Errors[dataColumn] = "Value can't be null.";
                }
            }
            if(e.Errors.Count > 0) e.RowError = "Please, fill all fields.";
            if(e.NewValues["FirstName"] != null && e.NewValues["FirstName"].ToString().Length < 2) {
                AddError(e.Errors, grid.Columns["FirstName"], "First Name must be at least two characters long.");
            }
            if(e.NewValues["LastName"] != null && e.NewValues["LastName"].ToString().Length < 2) {
                AddError(e.Errors, grid.Columns["LastName"], "Last Name must be at least two characters long.");
            }
            if(e.NewValues["Email"] != null && !e.NewValues["Email"].ToString().Contains("@")) {
                AddError(e.Errors, grid.Columns["Email"], "Invalid e-mail.");
            }

            int age = 0;
            int.TryParse(e.NewValues["Age"] == null ? string.Empty : e.NewValues["Age"].ToString(), out age);
            if(age < 18) {
                AddError(e.Errors, grid.Columns["Age"],  "Age must be greater than or equal 18.");
            }
            DateTime arrival = DateTime.MinValue;
            DateTime.TryParse(e.NewValues["ArrivalDate"] == null ? string.Empty : e.NewValues["ArrivalDate"].ToString(), out arrival);
            if(DateTime.Today.Year != arrival.Year || DateTime.Today.Month != arrival.Month) {
                AddError(e.Errors, grid.Columns["ArrivalDate"], "Arrival date is required and must belong to the current month.");
            }

            if(string.IsNullOrEmpty(e.RowError) && e.Errors.Count > 0) e.RowError = "Please, correct all errors.";

     

       if (e.NewValues["Name"] == null)

                {

                    e.RowError = "功能名称不能为空,请填写功能名称";

                    return;

                }

                if (e.NewValues["Remarks"] == null)

                {

                    e.RowError = "功能备注不能为空,请填写功能备注";

                    return;

                }
        }

    行修改事件 RowUpdating

      protected void gvFunction_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)

            {

                functionModel.Name = e.NewValues[0].ToString();// 组名称

                functionModel.Remarks = e.NewValues[1].ToString(); // 组备注

                functionModel.FunctionId = e.Keys[0].ToString();// ID

                rmodel = client.FunctionEdit(functionModel);// 返回类型表

                gvFunction.CancelEdit();//结束编辑状态

                e.Cancel = true;

                FunctionDataBind();//更新数据

            }

     

           行添加事件RowInserting

            protected void gvFunction_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)

            {

                    functionModel.Name = e.NewValues[0].ToString();// 组名称

                    functionModel.Remarks = e.NewValues[1].ToString(); // 组备注

                    rmodel = client.FunctionSubmit(functionModel);// 返回类型表

     

                    gvFunction.CancelEdit();//结束编辑状态

                    e.Cancel = true;

                    FunctionDataBind();//更新数据

            }

       行删除事件RowDeleting

            protected void gvFunction_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)

            {

                functionModel.FunctionId = e.Keys[0].ToString();// ID

                client.FunctionInfoDelete(functionModel);

                gvFunction.CancelEdit();//结束编辑状态

                e.Cancel = true;

                FunctionDataBind();//更新数据

            }

           初始化回调事件 Callback

            protected void callbackPanel_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)

            {

                strGroupID = e.Parameter.ToString();

                DataBindInfo();// 初始化页面信息

                SelectUser();// 查找组里面的所有用户

                DataCheck();

     

            }

    获取行展开改变事件 DetailRowExpandedChanged

            protected void gvGroup_DetailRowExpandedChanged(object sender, ASPxGridViewDetailRowEventArgs e)

            {

     

                SYSolution_WebUI.ServiceReference.GroupInfo groupInfoModel = (SYSolution_WebUI.ServiceReference.GroupInfo)((ASPxGridView)sender).GetRow(e.VisibleIndex);// 获取选中行实体

                ASPxGridView gv = (ASPxGridView)gvGroup.FindDetailRowTemplateControl(e.VisibleIndex, "gvGroupName");   // 获取模板内aspxgridView ID名称

                SYSolution_WebUI.ServiceReference.GroupInfo[] model = client.GroupSelUserList("GroupId='" + groupInfoModel.GroupId + "'");// 通过组ID值获取实体对象

                if (model[0].UserInfoList != null && gv != null)// 当用用户列表值与子aspxgridView不为空

                {

                    gv.DataSource = model[0].UserInfoList;      // 子aspxgridView绑定数据源

                    gv.DataBind();

                }

                if (model[0].UserInfoList[0].Name == "")       // 如果子aspxgridView中的用户列表为空时不显示 不展开

                {

                    gvGroup.SettingsDetail.AllowOnlyOneMasterRowExpanded = false;

                }

            }

    排序事件中重新绑定数据 BeforeColumnSortingGrouping

           protected void gvGroup_BeforeColumnSortingGrouping(object sender, ASPxGridViewBeforeColumnGroupingSortingEventArgs e)

            {

                gvGroup.DetailRows.CollapseAllRows();// 关闭所有DetailoRow

     

                gvGroup.DetailRows.ExpandRow(3);

            }

    重绑定数据使用时先选中行,再查看 FocusedRowChanged

    Protected void aspxGridView_FocusedRowChanged(object sender,EventArgs e){}

    行列绑定数据事件CustomUnboundColumnData

    Protected void aspxGridView_CustomUnboundColumnData(object sender,EventArgs e){}

     

    .隐藏编辑列,在DataBound事件中
    protected void ASPxGridView1_DataBound(object sender, EventArgs e)
        {
            if(ASPxGridView1.VisibleRowCount>0)
            {
                //ASPxGridView1.Columns[命令列索引]
                (ASPxGridView1.Columns[4] as GridViewCommandColumn).NewButton.Visible = false;
            }
        }

  • 相关阅读:
    68
    56
    Django manager 命令笔记
    Django 执行 manage 命令方式
    Django 连接 Mysql (8.0.16) 失败
    Python django 安装 mysqlclient 失败
    H.264 SODB RBSP EBSP的区别
    FFmpeg—— Bitstream Filters 作用
    MySQL 远程连接问题 (Windows Server)
    MySQL 笔记
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/5626664.html
Copyright © 2011-2022 走看看