111,119
社区成员
发帖
与我相关
我的任务
分享

首先说声不好意思,让你误会了,本人比较激动,所以感谢语都说的有点离谱。然后你给的Demo是要重写TreeviewItem的,而我的TreeviewItem是绑定数据库的,并且还有增加、修改、删除的功能,所以你给的Demo有点不太符合我现在做的项目,可不可以在不重写TreeviewItem的情况下,进行拖拽排序啊。最后说一声好意思让你误会了我的感谢语。[/quote]
难道我给你的不可以实现添加修改删除吗??你里面代码你看数据绑定就知道了啊。我就是这样实现删除一个节点 数据库也删除 树节点也删除的啊[/quote]
重写 也是种比较好的方法。
首先说声不好意思,让你误会了,本人比较激动,所以感谢语都说的有点离谱。然后你给的Demo是要重写TreeviewItem的,而我的TreeviewItem是绑定数据库的,并且还有增加、修改、删除的功能,所以你给的Demo有点不太符合我现在做的项目,可不可以在不重写TreeviewItem的情况下,进行拖拽排序啊。最后说一声好意思让你误会了我的感谢语。[/quote]
难道我给你的不可以实现添加修改删除吗??你里面代码你看数据绑定就知道了啊。我就是这样实现删除一个节点 数据库也删除 树节点也删除的啊
DataTable dt = new DataTable();
DataColumn dc = new DataColumn()
{
ColumnName = "Name",
};
dt.Columns.Add(dc);
for (int i = 0; i < 5; i++)
{
DataRow dr = dt.NewRow();
dr[0] = "节点" + i;
dt.Rows.Add(dr);
}
foreach (DataRow row in dt.Rows)
{
List.Add(new EntityTreeModel() { Name = row[0].ToString() });
}
this.tvListDataTable.ItemsSource = List;
private void tvListDataTable_Selected(object sender, RoutedEventArgs e)
{
EntityTreeModel model = tvListDataTable.SelectedItem as EntityTreeModel;
int currentIndex = list.IndexOf(model); // 当前节点Index
TreeViewItem selectedItem = (e.OriginalSource as TreeViewItem);
var item = this.List[currentIndex - 1];
}
前台修改TreeView模板
<HierarchicalDataTemplate x:Key="DataTemplateTable" ItemsSource="{Binding EntityTreeModel}">
<TextBlock Text="{Binding Name}"></TextBlock>
</HierarchicalDataTemplate>
<!--绑定DataTable-->
<TreeView Name="tvListDataTable" Width="200" Margin="10,0,0,0" Height="200" ItemTemplate="{DynamicResource DataTemplateTable}" HorizontalAlignment="Left" TreeViewItem.Selected="tvListDataTable_Selected">
</TreeView>
首先说声不好意思,让你误会了,本人比较激动,所以感谢语都说的有点离谱。然后你给的Demo是要重写TreeviewItem的,而我的TreeviewItem是绑定数据库的,并且还有增加、修改、删除的功能,所以你给的Demo有点不太符合我现在做的项目,可不可以在不重写TreeviewItem的情况下,进行拖拽排序啊。最后说一声好意思让你误会了我的感谢语。