格式化ASPxGridView的列

本文关键字:的列 ASPxGridView 格式化 | 更新日期: 2023-09-27 18:23:45

所以我得到了一个只有几个VisibleColumns的ASPxGridView,它显示了百分比值的记录。对于其中的一些列,即VisibleColumns[1],我需要应用它们值的格式。这些记录保存在类似83.79000的数据库中。这些列得到了小数点后2位的四舍五入值。所以我的第一个问题是:如何以83.79这样的格式显示这些值?第二个问题:我应该什么时候做?如果你看一下这个代码片段,我想在Databind之后,我在GridView中得到了一条记录,但如何修改它们并将它们保存到那个GridView中?

ASPxGridViewMain.DataSource = this.DataSource;
ASPxGridViewMain.DataBind();

第三个问题:出于德彪格的目的,我如何才能看到那一列的值?编辑:我的ASPXGrid查看方式:

<dxwgv:GridViewDataTextColumn FieldName="TRS" VisibleIndex="1" Caption="Hodnota TRS">        
    </dxwgv:GridViewDataTextColumn>

格式化ASPxGridView的列

您可以使用EditPropertiesBase.DisplayFormatString属性以您的格式显示值。您不需要修改您的记录。您可以将其添加到您的aspx代码中:

<dxwgv:GridViewDataTextColumn FieldName="TRS" VisibleIndex="1" Caption="Hodnota TRS">
    <PropertiesTextEdit DisplayFormatString="#.00" />
</dxwgv:GridViewDataTextColumn>

您应该使用DataFormatString,msdn链接如下
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring%28v=vs.110%29.aspx

您应该使用绑定字段来使用数据格式。

<asp:BoundField DataField="amount" HeaderText="amount"  
     ReadOnly="True" SortExpression="amount" DataFormatString="{0:n3}" />

编辑1

如果您不想使用BoundField,那么您应该使用gridview的RowDataBound事件。根据您的喜好获取单元格和格式。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{   
    if(e.Row.RowType == DataControlRowType.DataRow)  
    {  
        //get you cell here
        //put the number format here.
    }  
}  

您可以在GridView中使用绑定列并指定DataFormatString。如下图所示。

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="C1" HeaderText="Display Column Name" DataFormatString="{0:0.00}"  />
    </Columns>
    </asp:GridView>