2012-01-04 164 views
0

我想格式化网格视图,就像我必须在网格视图中显示4个订单,其中2个订单具有状态true,2个订单具有状态false现在我想应用这些订单的样式假状态应在黄色可见,并且这些订单是真的应该在正常的颜色,如黑色在这里看到是我的网格视图网格视图样式Asp.Net

<asp:GridView ID="CateringGridView" runat="server" AutoGenerateColumns="false" DataKeyNames="Id"> 
        <RowStyle CssClass="GridRow" /> 
        <Columns> 
         <asp:TemplateField HeaderText="First Name"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("FirstName") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Last Name"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("LastName") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Company Name"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("CompanyName") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Email"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("Email") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Phone"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("Phone") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="People Attending"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("PeopleAttending") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Event Type"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("TypeOfEvent") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Event Date"> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%#Bind("DateOfEvent") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
        </Columns> 
       </asp:GridView> 

和我的隐藏文件的代码是

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       this.FillCateringGrid(); 
      } 
     } 

     private void FillCateringGrid() 
     { 
      using (CateringOrderDataContext dataContext = new CateringOrderDataContext()) 
      { 
       var query = dataContext.Caterings 
             .Where(e => e.Status == true) 
             .Select(e => e); 
       this.CateringGridView.DataSource = query; 
       this.CateringGridView.DataBind(); 
      } 
     } 

回答

2
<RowStyle CssClass='<%=((Catering)Container.DataItem).Status ? "A" : "B"%>' /> 

其中A和B是C.根据状态是真还是假来确定姓名。那么你可以定义CSS格式为td.Atd.B

+0

其不能正常工作 – 2012-01-04 18:23:42

+0

谨慎阐述? – 2012-01-04 18:25:27

+1

我不明白你想说什么,我只是复制粘贴你的代码,并给我错误数据绑定表达式只支持具有DataBinding事件的对象。 System.Web.UI.WebControls.TableItemStyle没有DataBinding事件。 – 2012-01-04 18:29:27