导航

会议室有三中状态,空闲,被申请,使用中

Posted on 2004-12-09 13:31  兰宝石.NET  阅读(1094)  评论(0)    收藏  举报

通过DataGrid可以看到会议的基本情况,如果会议室的状态是“被申请”或是“使用中”则出现链接,点击“被申请”和“使用中”就可以查看“被申请”和“使用中的”基本情况,比如:谁申请的,什么时候用完结束等。但如果会议室是空闲状态,则不出现链接!

问题是:在DataGrid中根据会议室状态列的不同,状态列是否出则链接?
<script language="C#" runat="server">
   void meetingroomState_ItemDataBound(object sender,DataGridCommandEventArgs e)
  {
    if(e.Item.ItemType = ListItem.Item) || (e.Item.ItemType == ListItem.AlternatingItem)
    {
       int meetingroomID = Int32.Parse(e.Item.Cells[0].Text.Trim());
       int State = GetMeetingRootState(meetingroomID); //获取会议室的状态
       Label lblState = (Label)(e.Item.FindControl("lblState"));
       switch(State)
      {
         case 1 : //被申请
                  lblState.Text = "被申请" + "<a href='ShowDetails.aspx?meetingroomid=" + meetingroomID + ">详细情况</a>";
         case 2 : //使用中
                  lblState.Text = "使用中" + "<a href='ShowDetails.aspx?meetingroomid=" + meetingroomID + ">详细情况</a>";
         case 3 : //空闲
                  lblState.Text = "空闲" + "<a href='Requisition.aspx?meetingroomid=" + meetingrooID + ">申请</a>" ;
      }
    }
  }
</script>

<asp:DataGrid id="meetingroomState" runat="server" OnItemDataBound="meetingroomState_ItemDataBound">
   <columns>
      <asp:BoundColumn DataFiled="meetingroomID" HeaderText="会议室ID"/>
      <!-- 其他列 -->
      <TemplateColumns>
        <HeaderTemplate>
           会议室状态
        </HeaderTemplate>
        <ItemTemplate>
            <asp:Label id="lblState" runat="server"/>
        </ItemTemplate>
      </TemplateColumns>
   </columns>
</asp:DataGrid>

-------------------------------------------------------------------------------------------------------------

private void MeetingGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
   { 
    System.Web.UI.HtmlControls.HtmlInputHidden RadioName1;
    RadioName1=(HtmlInputHidden)(e.Item.FindControl("RadioName1"));
    string StateID=RadioName1.Value.ToString();

    Label lblState = (Label)(e.Item.FindControl("lblState"));
    int State=int.Parse(lblState.Text.ToString());

    switch(State)
    {
     case 0:
      lblState.Text="空闲中";
      break;
     case 1:
      lblState.Text="<a href='ApplyDetails.aspx?meetingID="+StateID+"'>被申请</a>";
      break;
     case 2:
      lblState.Text="<a href='ApplyDetails.aspx?meetingID="+StateID+"'>使用中</a>";
      break;
    }
    
   }  
  }

 

 <asp:datagrid id="MeetingGrid" runat="server" Width="100%" AutoGenerateColumns="False">
       <HeaderStyle Font-Names="宋体" HorizontalAlign="Center" BackColor="#CBD8EF"></HeaderStyle>
       <Columns>
        <asp:TemplateColumn HeaderImageUrl="修改" HeaderText="操作">
         <ItemStyle HorizontalAlign="Center"></ItemStyle>
         <HeaderTemplate>
          选择
         </HeaderTemplate>
         <ItemTemplate>
          <INPUT id=RadioName1 type=hidden  value='<%# DataBinder.Eval(Container.DataItem,"id")%>' runat="server">
          <INPUT id=RadioName type=radio value='<%# DataBinder.Eval(Container.DataItem,"id")%>' name=RadioName>
         </ItemTemplate>
        </asp:TemplateColumn>
        <asp:BoundColumn DataField="RoomNo" HeaderText="会议室编号">
         <ItemStyle HorizontalAlign="Center"></ItemStyle>
        </asp:BoundColumn>
        <asp:TemplateColumn HeaderText="会议室名称">
         <HeaderStyle Wrap="False" BackColor="#CBD8EF"></HeaderStyle>
         <ItemStyle Wrap="False"></ItemStyle>
         <ItemTemplate>
          <a href='MeetingDetails.aspx?id=<%#DataBinder.Eval(Container.DataItem,"ID")%>' target="_self">
           <%#DataBinder.Eval(Container.DataItem,"RoomName")%>
          </a>
         </ItemTemplate>
        </asp:TemplateColumn>
        <asp:BoundColumn DataField="ContainPerNum" HeaderText="可容纳人数">
         <ItemStyle HorizontalAlign="Center"></ItemStyle>
        </asp:BoundColumn>
        <asp:BoundColumn DataField="Address" HeaderText="会议室地址">
         <ItemStyle HorizontalAlign="Center"></ItemStyle>
        </asp:BoundColumn>
        <asp:TemplateColumn HeaderText="当前状态">
         <HeaderStyle Wrap="False" BackColor="#CBD8EF"></HeaderStyle>
         <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
         <ItemTemplate>
          <asp:Label id="lblState" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"CurrentState")%>'/>
         </ItemTemplate>
        </asp:TemplateColumn>
        <asp:BoundColumn DataField="Creater" HeaderText="登记人">
         <ItemStyle HorizontalAlign="Center"></ItemStyle>
        </asp:BoundColumn>
        <asp:BoundColumn DataField="CreateDate" HeaderText="登记日期" DataFormatString="{0:d}">
         <ItemStyle HorizontalAlign="Center"></ItemStyle>
        </asp:BoundColumn>
       </Columns>
      </asp:datagrid><%#DataBinder.Eval(Container.DataItem,"RoomName")%>