Форматирование столбцов в DevExpress ASPxGridView? - PullRequest
2 голосов
/ 20 октября 2011

Кто-нибудь знает, как я мог отформатировать столбцы в DevExpress ASPxGridView. У меня есть XML-файл, который ежедневно генерируется из XML-файла. То, что я хотел бы сделать, это отформатировать столбцы для определенных значений, например, столбец с измерениями, я хочу добавить конечные нули, если они не заполнены, то есть от 1,2 до 1.200. Я только сталкивался с примерами, сделанными на странице ASPX, и построил мои столбцы в коде. Пожалуйста, помогите с простейшими решениями или имуществом, спасибо.

Ответы [ 3 ]

5 голосов
/ 20 октября 2011

На странице .aspx вы можете сделать это, чтобы отформатировать столбец в долларах с 0 десятичным знаком

  <dx:GridViewDataTextColumn FieldName="YourFieldName" VisibleIndex="1" Name="Displayame">
      <PropertiesTextEdit DisplayFormatString="${0}" />
  </dx:GridViewDataTextColumn>

В коде привязки CellEditorInitialize к обработчику событий обычного типа что-то вроде:

 ASPxGridViewData.CellEditorInitialize+=new DevExpress.Web.ASPxGridView.ASPxGridViewEditorEventHandler(ASPxGridViewData_CellEditorInitialize);
protected void ASPxGridViewData_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e){
if (e.Column.FieldName == "YourFieldName") {
    e.Editor.Value = string.Format("${0}", e.Value);
}}
2 голосов
/ 29 июня 2012

Нет необходимости делать это на мероприятии.Конечно, это еще не все, но вы поняли:

void doStuff(){
   theGridView.DataSource = getDataSource();
   theGridView.DataBind();

   foreach(GridViewColumn gvc in theGridView.Columns)
   {
      String strSomeParamter = "";
       if(gvc.Name.Contains("$")
          strSomeParameter = "currency";
      (gvc as GridViewDataTextColumn).PropertiesTextEdit.DisplayFormatString = getTextFormatStringBasedOnSomeParameter(strSomeParamter);
   }
}

String getTextFormatStringBasedOnSomeParameter(String someParam){
  switch(someParam)
  {
     default:
          return "";
     case "currency":
          return "{0:c2}";
     case "percent":
          return "{0:p2}";
  }
}
1 голос
/ 21 октября 2011

В коде позади вы можете использовать CustomColumnDisplayText событие:

protected void Grid_CustomColumnDisplayTextEvent(ASPxGridViewColumnDisplayTextEventArgs e)
{
    if ("ColumnName".Equals(e.Column.FieldName))
    {
        e.DisplayText = someFormatFunction(e.Value);
    }
}

Методическая документация: http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewASPxGridView_CustomColumnDisplayTexttopic

...