【问题标题】:Hide columns in ASPxGridView when value in ASPxSummaryItem is 0当 ASPxSummaryItem 中的值为 0 时隐藏 ASPxGridView 中的列
【发布时间】:2018-08-10 23:54:10
【问题描述】:

这是我的gridview

<dx:ASPxGridView ID="GridViewID" runat="server" DataSourceID="SourceMain" ClientInstanceName="Grid" SettingsPager-mode="ShowAllRecords" OnHtmlDataCellPrepared="ASPxGridView1_HtmlDataCellPrepared">
 <Columns>
     <dx:GridViewDataTextColumn FieldName="TrackOutDate" VisibleIndex="1" Visible="True"><PropertiesTextEdit DisplayFormatString="MM/dd/yyyy"></PropertiesTextEdit></dx:GridViewDataTextColumn>
     <dx:GridViewDataTextColumn FieldName="LotID" VisibleIndex="2" Visible="True"></dx:GridViewDataTextColumn>
     <dx:GridViewDataTextColumn FieldName="Qty_IN" VisibleIndex="11" Visible="True"></dx:GridViewDataTextColumn>
     <dx:GridViewDataTextColumn FieldName="HX" VisibleIndex="12" Visible="True"></dx:GridViewDataTextColumn>
     <dx:GridViewDataTextColumn FieldName="NA" VisibleIndex="13" Visible="True"></dx:GridViewDataTextColumn>
 </Columns>
    <Settings ShowFooter="true" />
    <TotalSummary> 
    <dx:ASPxSummaryItem FieldName="Qty_IN" SummaryType="Sum" DisplayFormat="{0}" Tag="1" ShowInColumn="Qty_IN"  />
    <dx:ASPxSummaryItem FieldName="HX" SummaryType="Sum" DisplayFormat="{0}"/>
    <dx:ASPxSummaryItem FieldName="NA" SummaryType="Sum" DisplayFormat="{0}"/>
    </TotalSummary>
</dx:ASPxGridView>

这是填写gridview的代码:

protected void SourceMain_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
    lote = getLot();
    device = getDevice();
    stage = getStage();
    location = getLocation();
    equipment = getEquipment();
    SD = Convert.ToDateTime(getStartDate());
    ED = Convert.ToDateTime(getEndtDate());

    MetricsPortal.DAL.ReportsDataClassesDataContext dataContext = new MetricsPortal.DAL.ReportsDataClassesDataContext();
    e.Result = (from items in dataContext.CalculateDailyYieldequipmentParam(lote,device,stage,location,equipment,SD,ED,Evaluation())
                orderby items.TrackOutDate ascending, items.GRANDTOTAL1 descending
                //where items.GRANDTOTAL1 > 0
                select items).Distinct();

}//source Main

当这些列的总摘要为0时,是否可以删除或隐藏列?

例如:enter image description here

黄色列中的值为0,在这种情况下我可以隐藏该列吗?什么时候不是0只显示列?

【问题讨论】:

    标签: c# asp.net tsql devexpress


    【解决方案1】:

    实际上 onselected 事件更合适GridView1.Columns[yourcolumnindex].Visible = false; 并且列将消失。

    【讨论】:

    • 我在填充gridview的地方使用它,但它不起作用,因为无法评估totalsummary,因为它还没有渲染,如果我尝试使用ASPxGridView1_HtmlDataCellPrepared方法,仍然无法工作,因为gridview 没有任何数据。
    • 我猜你正在使用 devexpress 网格组件。我不太熟悉,但我搜索 devexpress 支持中心,我找到了一些与您的问题相匹配的答案。基本上 HtmlRowCreated 事件使用了这种类型的情况。
    猜你喜欢
    • 2021-03-17
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    相关资源
    最近更新 更多