——此文章摘自《C#高级编程(第
版)》定价
元 特价
元 购买
<asp:Label Runat=server ID=edRoom/>
<br>
<asp:Label Runat=server ID=edAttendees/>
</td>
</tr>
</table>
</td>
</tr>
</table>
我们添加了一个新的表行其中包含一个表该表中的一列是一个DataList另一列是一个信息视图信息视图中有个标签表示会议属性其中一个包含文本Select an event to view details如果没有选择任何会议则显示该文本表示该窗体是第一次加载
DataList使用<ItemTemplate> 和 <SelectedItemTemplate>显示会议信息为了提供选择对会议名称链接执行Select命令该会议名称链接显示在<ItemTemplate>中这样就可以自动修改选择我们还使用了OnSelectedIndexChanged事件当Select命令修改选择时触发这个事件填充会议信息标签如果双击设计器中的eventDetails就会得到如下的事件处理程序还需要把方法的保护级别从protected改为private(注意首先要执行DataBind()来更新选项)
private void eventDetails_SelectedIndexChanged(object sender
SystemEventArgs e)
{
eventDetailsDataBind();
DataRow selectedEventRow =
eventTableRows[eventDetailsSelectedIndex];
edNameText = (string)selectedEventRow[Name];
edDateText = <b>Date:</b> +
((DateTime)selectedEventRow[EventDate])ToLongDateString();
edAttendeesText = <b>Attendees:</b> +
(string)selectedEventRow[AttendeeList];
DataRow selectedEventRoomRow =
dsTables[Rooms]Rows[(int)selectedEventRow[Room] ];
edRoomText = <b>Room:</b> + selectedEventRoomRow[Room];
}
使用ds和eventTable中的数据填充信息视图
与前面所用的DataGrid一样需要为eventDetails设置数据并绑定到Page_Load()中
eventDetailsDataSource = eventTable;
eventDetailsDataSource = eventTable;
[] [] [] []