2012-01-04 3 views
0

2 개의 주문이 상태가 true이고 2 개의 주문이 상태가 false 인 그리드보기에서 4 개의 주문을 표시해야하는 것처럼 그리드보기 스타일을 지정하려는 경우 해당 주문과 같은 스타일을 적용하고 싶습니다. 거짓 상태가해야 노란색에 표시하고 그 명령에 해당해야 여기에 블랙과 같은 정상적인 색상에 표시 내 그리드보기그리드보기 스타일링 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 다. Status가 참인지 거짓인지에 따라 이름을 알 수 있습니다. td.Atd.B의 CSS 형식을 정의 할 수 있습니다.

+0

작동하지 않음 –

+0

정성스럽게 신경 쓰시겠습니까? –

+1

나는 당신의 코드를 붙여 넣기하고 그것의 오류를주는 말을하려고하는 것을 이해하지 못한다. 데이터 바인딩 식은 DataBinding 이벤트가있는 객체에서만 지원된다. System.Web.UI.WebControls.TableItemStyle에는 DataBinding 이벤트가 없습니다. –