c#中TreeView 刷新问题
splitcontainer中panel1放入TreeView控件,panel2放入dataGridView控件,想当鼠标点击TreeView的节点时panel2中dat...
splitcontainer中panel1 放入TreeView 控件,panel2 放入dataGridView控件,想当鼠标点击TreeView 的节点时panel2中dataGridView能显示相应的数据。
帮个忙,谢谢! 展开
帮个忙,谢谢! 展开
4个回答
展开全部
/// <summary>
/// 单击树型列表事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (this.treeView1.SelectedNode.Level == 1)
{
string key = this.treeView1.SelectedNode.Text;
this.item = this.cinema.Schedule.Items[key];
this.lblDirector.Text = item.Movie.Director;//导演
this.lblLeadingActor.Text = item.Movie.Actor;//主演
this.lblMovieType.Text = item.Movie.Type.ToString();//电影类型
this.lblPlayTime.Text = item.Time;//时间
this.lblMoviePrice.Text = item.Movie.Price.ToString();//票价
this.PicLeading.Image = Image.FromFile(item.Movie.Poster);//海报
this.lblMovieName.Text = item.Movie.MovieName;//电影名
ClearSeat();
foreach (Ticket ticket in cinema.SoldTickets)
{
foreach (Seat seat in cinema.Seats.Values)
{
if (ticket.ScheduleItem.Time == key && seat.SeatNum ==ticket.Seat.SeatNum)
{
if (ticket is StudentTicket)
{
seat.Color = Color.Green;
}
else if (ticket is FreeTicet)
{
seat.Color = Color.Blue;
}
else
{
seat.Color = Color.Red;
}
}
}
foreach (Seat seat in cinema.Seats.Values)
{
labels[seat.SeatNum].BackColor = seat.Color;
}
}
}
#region MyRegion
////如果所选的是根节点,RETURN
//if (this.treeView1.SelectedNode.Level== 0)
//{
// return;
//}
////如果所选的是空节点,RETURN
//if (this.treeView1.SelectedNode == null)
//{
// return;
//}
////判断集合中是否有所选的节点,如果有就可以获得一个具体的电影对象
//if (movies.ContainsKey(this.treeView1.SelectedNode.Text))
//{
// Movie movie=movies[this.treeView1.SelectedNode.Text];
// //给movie的各项赋值
// this.lblDirector.Text = movie.Director;//导演
// this.lblLeadingActor.Text = movie.Actor;//主演
// this.lblMovieType.Text = movie.Type.ToString();//电影类型
// this.lblPlayTime.Text = this.treeView1.SelectedNode.Text;//时间
// this.lblMoviePrice.Text = movie.Price.ToString();//票价
// this.PicLeading.Image = Image.FromFile(movie.Poster);//海报
// this.lblMovieName.Text = movie.MovieName;//电影名
//}
#endregion
}
/// 单击树型列表事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (this.treeView1.SelectedNode.Level == 1)
{
string key = this.treeView1.SelectedNode.Text;
this.item = this.cinema.Schedule.Items[key];
this.lblDirector.Text = item.Movie.Director;//导演
this.lblLeadingActor.Text = item.Movie.Actor;//主演
this.lblMovieType.Text = item.Movie.Type.ToString();//电影类型
this.lblPlayTime.Text = item.Time;//时间
this.lblMoviePrice.Text = item.Movie.Price.ToString();//票价
this.PicLeading.Image = Image.FromFile(item.Movie.Poster);//海报
this.lblMovieName.Text = item.Movie.MovieName;//电影名
ClearSeat();
foreach (Ticket ticket in cinema.SoldTickets)
{
foreach (Seat seat in cinema.Seats.Values)
{
if (ticket.ScheduleItem.Time == key && seat.SeatNum ==ticket.Seat.SeatNum)
{
if (ticket is StudentTicket)
{
seat.Color = Color.Green;
}
else if (ticket is FreeTicet)
{
seat.Color = Color.Blue;
}
else
{
seat.Color = Color.Red;
}
}
}
foreach (Seat seat in cinema.Seats.Values)
{
labels[seat.SeatNum].BackColor = seat.Color;
}
}
}
#region MyRegion
////如果所选的是根节点,RETURN
//if (this.treeView1.SelectedNode.Level== 0)
//{
// return;
//}
////如果所选的是空节点,RETURN
//if (this.treeView1.SelectedNode == null)
//{
// return;
//}
////判断集合中是否有所选的节点,如果有就可以获得一个具体的电影对象
//if (movies.ContainsKey(this.treeView1.SelectedNode.Text))
//{
// Movie movie=movies[this.treeView1.SelectedNode.Text];
// //给movie的各项赋值
// this.lblDirector.Text = movie.Director;//导演
// this.lblLeadingActor.Text = movie.Actor;//主演
// this.lblMovieType.Text = movie.Type.ToString();//电影类型
// this.lblPlayTime.Text = this.treeView1.SelectedNode.Text;//时间
// this.lblMoviePrice.Text = movie.Price.ToString();//票价
// this.PicLeading.Image = Image.FromFile(movie.Poster);//海报
// this.lblMovieName.Text = movie.MovieName;//电影名
//}
#endregion
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
双击treeview 控件,在里面写代码就是了。
可以使用treeviewitem的 文本,或tag等 指明数据来源,根据这个数据来源,获取数据 放入datagridview中即可。
可以使用treeviewitem的 文本,或tag等 指明数据来源,根据这个数据来源,获取数据 放入datagridview中即可。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
必须用一个Session来存放你选择的节点:
Session["Node"]=TreeView1.SelectedNode.Text;
因为页面是没有内存的,刷新后就丢失了,所以要用Session缓存。
调用Session的方法为
(string)Session["Node"]
Session["Node"]=TreeView1.SelectedNode.Text;
因为页面是没有内存的,刷新后就丢失了,所以要用Session缓存。
调用Session的方法为
(string)Session["Node"]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用TreeView的AfterSelect事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询