Devexpress MVC GridView / CardView (持续更新)

 

//获取gridview里面的combo box 显示的文本
//获取某个column在gridview的 index 
 RightGridView.GetColumnByField("FunUID").index
//获取gridview里面的combo box 显示的文本
RightGridView.batchEditHelper.GetCellTextContainer(visibleindex ,columnIndex).textContent

  

在Double Click event里面. 获取当前鼠标选择的列的值
在Double Click event里面. 获取当前鼠标选择的值
//s.GetFocusedCell().rowVisibleIndex 获取当前选中行的index
//s.GetFocusedCell().column.fieldName 获取当前选中行的field
s.batchEditApi.GetCellValue(s.GetFocusedCell().rowVisibleIndex,s.GetFocusedCell().column.fieldName) 

  

//自定义计算footer的summary 
  
//自定义计算footer的summary 
//首先将需要自定义计算的field 设置为 DevExpress.Data.SummaryItemType.Custom

settings.CustomSummaryCalculate = (s, e) =>
        {

            ASPxSummaryItem summary = e.Item as ASPxSummaryItem;
            if (e.IsTotalSummary)
            {

                int li_totalValue = 0;
                decimal ld_totalValue = 0;
                for (int i = 0; i < ((MVCxGridView)s).VisibleRowCount; i++)
                {
                    if (summary.FieldName == "QTY")
                    {
                        if ((((MVCxGridView)s).GetRowValues(i, "TranType") == DBNull.Value ? "" : ((MVCxGridView)s).GetRowValues(i, "TranType").ToString()) == "IN")
                            li_totalValue += Convert.ToInt32(((MVCxGridView)s).GetRowValues(i, "QTY"));
                        else
                            li_totalValue -= Convert.ToInt32(((MVCxGridView)s).GetRowValues(i, "QTY"));
                        e.TotalValue = li_totalValue;
                    }
                }
                e.TotalValueReady = true;
            }
        };

  

  

//在Column里面显示Button(包含当添加新行时无法触发onclick event)
//在Column里面显示Button(包含当添加新行时无法触发onclick event)
partial view

   settings.Columns.Add(column =>
        {
            column.Caption = "...";
            column.FieldName = "btnDlvAddress";
            column.UnboundType = DevExpress.Data.UnboundColumnType.String;
            column.Width = 50;
            column.SetDataItemTemplateContent(container =>
            {

                Html.DevExpress().Button(b =>
                {
                    b.Name = "btnDlvAddress" + container.KeyValue;
                    b.Text = "...";
                    b.Width = Unit.Percentage(100);
                    b.ClientSideEvents.Click = "function(s,e){ OnSearchDlvAddress(); }";
                    b.ClientEnabled = true;
                    b.EnableClientSideAPI = true;
                    b.ClientVisible = true;
                }).Render();

            });
        });



Index.cshtml

function OnSearchDlvAddress()
{

}

//使用Gridview的StartEdit event 处理当时新行的时候 call function
 function OnTruReqGridView_BatchStartEdit(s,e)
    {
        e.cancel = true;
    if(e.focusedColumn.fieldName == "btnDlvAddress")
        {
            e.cancel = true;
            if(ModalTruReqGridView.batchEditApi.IsNewRow(e.visibleIndex))
                OnSearchDlvAddress();
        }
}

  

//判断Gridview里面某行的某列是否有修改

//agdv_Grid.batchEditApi.HasChanges(行号, 列名orID)
var lb_IsEdit = Gridview.batchEditApi.HasChanges(0, "ColumnName");

//lb_IsEdit 将返回true or false

  

原文地址:https://www.cnblogs.com/hesijian/p/9809288.html