通过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>
浙公网安备 33010602011771号