隐藏gridview中特定行的编辑列

时间:2015-02-27 06:13:11

标签: c# asp.net gridview

解决 不使用runat服务器属性

  <a href='editvehiclerequest.aspx?id=<%# objCrypto.EnCrypt(Container.KeyValue.ToString())%>' style='display:<%# Eval("VehicleStatus").ToString() != ("Cancel") ? "block" :"none"%>'>Edit</a>

我知道这可以使用eval在visible属性中实现。 如何在编辑列的visible属性中使用eval语句。

我尝试了什么

'<%# Eval("VehicleStatus").ToString() !=( "cancel") ? "true" : "false" %>'


 <dx:GridViewDataTextColumn Width="50px" VisibleIndex="0" Caption="">
                        <DataItemTemplate>
                            <a visible=" '<%# Eval("VehicleStatus").ToString() !=( "cancel") ? "true" : "false" %>'" href="editvehiclerequest.aspx?id=<%# objCrypto.EnCrypt(Container.KeyValue.ToString())%>">Edit</a>
                        </DataItemTemplate>
                    </dx:GridViewDataTextColumn>

我的代码

<dx:GridViewDataTextColumn Width="50px" VisibleIndex="0" Caption="">
                    <DataItemTemplate>
                        <a  href="editvehiclerequest.aspx?id=<%# objCrypto.EnCrypt(Container.KeyValue.ToString())%>">Edit</a>
                    </DataItemTemplate>
                </dx:GridViewDataTextColumn>

根据我必须隐藏编辑列的列

  <dx:GridViewDataComboBoxColumn Caption="Vehicle<br> Status" FieldName="VehicleStatus" >
                <PropertiesComboBox DropDownStyle="DropDown" DataSourceID="VrmsVehicleStatusDataSource"
                    ValueField="VehicleStatus" IncrementalFilteringMode="StartsWith" TextField="VehicleStatus"
                    ValueType="System.String" />
            </dx:GridViewDataComboBoxColumn>

1 个答案:

答案 0 :(得分:0)

我建议您首先使用Hyperlink控件而不是<a>锚点。但是由于某些原因你不能再设置Anchor标签runat=server属性。

所以你的新锚标签就像,

<a runat="server" Visible='<%# Eval("VehicleStatus").ToString() != ("cancel") ? Convert.ToBoolean("true") : Convert.ToBoolean("false") %>' href="editvehiclerequest.aspx?id=<%# objCrypto.EnCrypt(Container.KeyValue.ToString())%>">Edit</a>

这应该有效。但是你应该使用HyperLink控制。