一种在gridView的数据项中改变展示值的方法

首先说明gridview在页面中的结构为

<dx:ASPxGridView>

    <columns>

        <GridViewDataTextColumn>

            <DataItemTemplate>

                <dx:ASPxLabel></dx:ASPxLabel>

            </DataItemTemplate>

        </GridViewDataTextColumn>

    </columns>

</dx:ASPxGridView>

要展示列中的数据,到<GridViewDataTextColumn>一级即可,要改变列中的数据,如只展示列中数据前5个字符,超出部分以省略号表示,可在<dx:ASPxLabel>标签中做如下修改

<dx:ASPxLabel ID="xx" runat="server" ToolTip='<%# Eval("列名") %>' Text='<%# Eval("列名").ToString().Length <= 5 ? Eval("列名").ToString() : Eval("列名").ToString().Substring(0, 5) + "..." %>'></dx:ASPxLabel>

意为在数据项模板中插入ASPxLabel(devexpress的文本控件),改变该控件的属性值

上述方法个人拓展有针对数据库传入的数据0或1改为文字展示“真”或“假”,但不建议在前台添加复杂的逻辑控制

20180403更新:

上述方法的个人拓展有问题,当gridview展示修改后的数据后,如果需要查询(比如查询某一项为真),则无法根据修改后的数据来查找(gridview认为datasource中不存在该数据,因为该数据本质上是通过改变label标签的属性来展示在页面上),要解决此问题,在数据源绑定的tableAdapter中使用Oracle的DECODE函数修改sql语句。

猜你喜欢

转载自blog.csdn.net/loopwastemytime/article/details/79784413