网格视图当我在asp.net的网格视图中绑定数据时如何隐藏一些特殊类型数据的细节?

时间:2012-11-16 18:20:24

标签: c# asp.net asp.net-3.5

我有一个问题我在数据源的网格视图中绑定数据,并且我正在查找不同类型的订单状态从1到7开始的信息。我不想在网格视图中显示状态7数据。你能帮助我吗

 <data:EntityGridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"
                        DataSourceID="ActiveOrdersDataSource" Width="100%" DataKeyNames="OrderNo" AllowMultiColumnSorting="false"
                         OnRowCommand="GridView1_RowCommond" OnRowDataBound="GridView1_OnRowDataBound"
                        DefaultSortDirection="Descending"  ExcelExportFileName="Export_ActiveOrders.xls">
                        <Columns>
                            <asp:CommandField ShowSelectButton="True" SelectText="Edit" />
                            <asp:BoundField DataField="OrderNo" ItemStyle-HorizontalAlign="Center" HeaderText="Order No" SortExpression="[OrderNo]" />
                            <asp:BoundField DataField="OrderDate" DataFormatString="{0:d}" HtmlEncode="False"
                                HeaderText="Order Date" SortExpression="[OrderDate]" />
                            <asp:BoundField DataField="PickupCompanyName" HeaderText="Pickup Company" SortExpression="[PickupCompanyName]" Visible="false" />
                            <asp:BoundField DataField="DeliveryCompanyName" HeaderText="Delivery Company" SortExpression="[DeliveryCompanyName]" Visible="false"  />
                            <data:HyperLinkField HeaderText="Ac.No." ControlStyle-ForeColor="Black" DataContainer="AccountNumberSource"
                                DataTextField="AccountNumber" />
                                 <data:HyperLinkField HeaderText="Client"  DataContainer="AccountNumberSource"
                                DataTextField="Name" />
                                <asp:BoundField DataField="Caller" ItemStyle-HorizontalAlign="Center" HeaderText="Caller" SortExpression="[Caller]" />
                                 <asp:BoundField DataField="Department" ItemStyle-HorizontalAlign="Center" HeaderText="Department" SortExpression="[Department]" />
                                 <asp:BoundField DataField="Reference" HeaderText="Reference" SortExpression="[Reference]"  />
                            <asp:TemplateField HeaderText="Driver" HeaderStyle-HorizontalAlign="Left">
                                <ItemTemplate>
                                    <asp:Label ID="lblDriver" runat="server" Text='<%#Eval("CurrentDriverNumberSource.Name") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <data:HyperLinkField HeaderText="Service"  ControlStyle-ForeColor="Black" DataContainer="ServiceTypeIdSource"
                                DataTextField="Description" />
                            <data:HyperLinkField HeaderText="Vehicle" ControlStyle-ForeColor="Black" DataContainer="VehicleTypeIdSource"
                                DataTextField="Description" />
                            <asp:TemplateField HeaderText="Status" HeaderStyle-HorizontalAlign="Left">
                                <ItemTemplate>
                                    <asp:Label ID="lblStatus" runat="server" Text='<%#Eval("StatusID") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>

                            <asp:TemplateField HeaderText="TotalAmount" ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                            <asp:Label ID="lblAmount" runat="server" Text='<%# Eval("TotalAmount","{0:C2}")%>' ></asp:Label> 
                                            </ItemTemplate>
                                            <ItemStyle HorizontalAlign="Right" />
                                            </asp:TemplateField>

                        </Columns>

                        <EmptyDataTemplate>
                            <b>No Active Orders Found!</b>
                        </EmptyDataTemplate>
                    </data:EntityGridView>

对于数据源,我使用此

 <data:ActiveOrdersDataSource ID="ActiveOrdersDataSourcebyCompany" runat="server" SelectMethod="GetPaged" EnablePaging="True" EnableSorting="True" EnableDeepLoad="True">
                        <DeepLoadProperties Method="IncludeChildren" Recursive="False">
                            <Types>
                                <data:ActiveOrdersProperty Name="Clients" />
                                <data:ActiveOrdersProperty Name="Companies" />
                                <data:ActiveOrdersProperty Name="Drivers" />
                                <data:ActiveOrdersProperty Name="SalesPeople" />
                                <data:ActiveOrdersProperty Name="ServiceTypes" />
                                <data:ActiveOrdersProperty Name="VehicleTypes" />
                                <data:ActiveOrdersProperty Name="Zones" />
                                </Types>
                        </DeepLoadProperties>
                        <Parameters>
                        <asp:SessionParameter Name="CompanyId" SessionField="CompanyId" Type="String" />
              <data:SqlParameter Name="WhereClause" UseParameterizedFilters ="false">
                          <Filters>

                                                                                                                 

                            <%--<data:CustomParameter Name="WhereClause" Value="" ConvertEmptyStringToNull="false" />
                            <data:CustomParameter Name="OrderByClause" Value="" ConvertEmptyStringToNull="false" />
                            <asp:ControlParameter Name="PageIndex" ControlID="GridView1" PropertyName="PageIndex"
                                Type="Int32" />
                            <asp:ControlParameter Name="PageSize" ControlID="GridView1" PropertyName="PageSize"
                                Type="Int32" />
                            <data:CustomParameter Name="RecordCount" Value="0" Type="Int32" />--%>
                        </Parameters>
                    </data:ActiveOrdersDataSource>

2 个答案:

答案 0 :(得分:1)

Goutam,

您可以使用过滤器标签设置您想要的值:

<Parameters>
  <data:SqlParameter Name="WhereClause" UseParameterizedFilters="false">
    <Filters>
      <data:ChartOfAccountsFilter Column="Status" ComparisionType="NotContains" DefaultValue="7"    />
    </Filters>
  </data:SqlParameter>
</Parameters>

答案 1 :(得分:1)

你可以根据这段代码制作:

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim x As String
x = e.Row.Cells(1).Text
Dim y As String
y = e.Row.Cells(8).Text
If Convert.ToInt32(x) <= Convert.ToInt32(y) Then
e.Row.ForeColor = System.Drawing.Color.Blue
End If
End If
End Sub