不知道有没有表达清楚,如果有会的朋友请帮帮我
这个是IModel接口的定义
public interface IModel:INotifyPropertyChanged
{
string Name { get; set; }
ImageSource Icon { get; }
string SqlScript { get; }
bool IsChecked { get; set; }
bool IsExpand { get; set; }
ObservableCollection<Folder> Folders { get; set; }
}
这个是TreeView的数据模板
<HierarchicalDataTemplate>
<HierarchicalDataTemplate.ItemsSource>
<MultiBinding Converter="{StaticResource TreeDataConvert}">
<Binding Path="Tables"/>
<Binding Path="Views"/>
<Binding Path="Functions"/>
<Binding Path="Procedures"/>
<Binding Path="Columns"/>
<Binding Path="Triggers"/>
<Binding Path="Checks"/>
<Binding Path="ForeignKeys"/>
<Binding Path="UnClustereds"/>
<Binding Path="Clustered"/>
<Binding Path="Folders"/>
</MultiBinding>
</HierarchicalDataTemplate.ItemsSource>
15 个解决方案
#1
贴出你不用Linq进行遍历的代码来,让别人给你改一下。
#2
我现在只会查询第一层的数据库,下层还有表、函数、存储过程、视图等,表下面还有触发器、列等。。。
我想实现把符合条件的对象查询出来,可以是树结构也可以是单独类显示到TreeView中
我想实现把符合条件的对象查询出来,可以是树结构也可以是单独类显示到TreeView中
string key = txtSearch.Text.ToLower();
//TreeItemSource是这样定义的:private static ObservableCollection<Database> TreeItemSource = new ObservableCollection<Database>();
var quest = from db in TreeItemSource
where db.Name.ToLower().Contains(key)
select db as DBConvert.Interface.IModel;
TreeView1.ItemsSource = quest;
#4
和linq无关,如果你不懂递归,用啥都做不出。
#5
原来范冰冰是负责5楼WC的啊
#6
在你的“查询第一层的数据库”下面写一个foreach语句,就可以了!
只要你将来有了“*”(不用整天上班打卡),这个可以有啊。
只要你将来有了“*”(不用整天上班打卡),这个可以有啊。
#7
如果不用linq我应该可以实现,就像我现在的treeview那样显示,我只是想学下linq
#8
不写出迭代搜索(返回IEnumerable<T>的那个方法),你如何linq?
#9
类似这样的foreach嵌套是吧
#10
TreeItemSource这个集合里面已经有的数据源,连接服务器后把所有的对象都搜索出来了,我就是想用Linq在这个集合中匹配关键字的对象出来
#11
呵呵,重新学习一下数据结构里边的树搜索。而这种搜索在c#里边的语法,可以参考我写的 GetDepartments 方法。
#12
许多人写程序的思维,可能就是“画个流程图,然后分步实施”的学生思路。
而.net开发中许多有意义的设计模式是用来给你分层的。“迭代器”就是其中之一。
分层了的代码,对于不懂的人可能更加看不懂。但是对于理解分层的初衷的人,则可以把复杂的逻辑一下子变得特别简单。“分层”是那种仅仅“分步实施”的思路所不能达到的。
如果你看到一个人写的复杂程序很少有多余的if..else分支结构,那么你应该看看他是不是有分层架构做理论支持。
而.net开发中许多有意义的设计模式是用来给你分层的。“迭代器”就是其中之一。
分层了的代码,对于不懂的人可能更加看不懂。但是对于理解分层的初衷的人,则可以把复杂的逻辑一下子变得特别简单。“分层”是那种仅仅“分步实施”的思路所不能达到的。
如果你看到一个人写的复杂程序很少有多余的if..else分支结构,那么你应该看看他是不是有分层架构做理论支持。
#13
刚刚用LINQ to DataSet重写了递归树。。。
一上来就看到这贴。。。这么巧么?
#14
兄台对我这个有什么感想?
#15
方法1(子ID)
{
找出所有“子ID”的项目,
foreach(孙项 in 查出结果)
{
树中.add(方法1(孙ID));
}
}
//方法可以且最好带返回值的,这个“回环”比较难解释,看看应该明白。
#1
贴出你不用Linq进行遍历的代码来,让别人给你改一下。
#2
我现在只会查询第一层的数据库,下层还有表、函数、存储过程、视图等,表下面还有触发器、列等。。。
我想实现把符合条件的对象查询出来,可以是树结构也可以是单独类显示到TreeView中
我想实现把符合条件的对象查询出来,可以是树结构也可以是单独类显示到TreeView中
string key = txtSearch.Text.ToLower();
//TreeItemSource是这样定义的:private static ObservableCollection<Database> TreeItemSource = new ObservableCollection<Database>();
var quest = from db in TreeItemSource
where db.Name.ToLower().Contains(key)
select db as DBConvert.Interface.IModel;
TreeView1.ItemsSource = quest;
#3
#4
和linq无关,如果你不懂递归,用啥都做不出。
#5
原来范冰冰是负责5楼WC的啊
#6
在你的“查询第一层的数据库”下面写一个foreach语句,就可以了!
只要你将来有了“*”(不用整天上班打卡),这个可以有啊。
只要你将来有了“*”(不用整天上班打卡),这个可以有啊。
#7
如果不用linq我应该可以实现,就像我现在的treeview那样显示,我只是想学下linq
#8
不写出迭代搜索(返回IEnumerable<T>的那个方法),你如何linq?
#9
类似这样的foreach嵌套是吧
#10
TreeItemSource这个集合里面已经有的数据源,连接服务器后把所有的对象都搜索出来了,我就是想用Linq在这个集合中匹配关键字的对象出来
#11
呵呵,重新学习一下数据结构里边的树搜索。而这种搜索在c#里边的语法,可以参考我写的 GetDepartments 方法。
#12
许多人写程序的思维,可能就是“画个流程图,然后分步实施”的学生思路。
而.net开发中许多有意义的设计模式是用来给你分层的。“迭代器”就是其中之一。
分层了的代码,对于不懂的人可能更加看不懂。但是对于理解分层的初衷的人,则可以把复杂的逻辑一下子变得特别简单。“分层”是那种仅仅“分步实施”的思路所不能达到的。
如果你看到一个人写的复杂程序很少有多余的if..else分支结构,那么你应该看看他是不是有分层架构做理论支持。
而.net开发中许多有意义的设计模式是用来给你分层的。“迭代器”就是其中之一。
分层了的代码,对于不懂的人可能更加看不懂。但是对于理解分层的初衷的人,则可以把复杂的逻辑一下子变得特别简单。“分层”是那种仅仅“分步实施”的思路所不能达到的。
如果你看到一个人写的复杂程序很少有多余的if..else分支结构,那么你应该看看他是不是有分层架构做理论支持。
#13
刚刚用LINQ to DataSet重写了递归树。。。
一上来就看到这贴。。。这么巧么?
#14
兄台对我这个有什么感想?
#15
方法1(子ID)
{
找出所有“子ID”的项目,
foreach(孙项 in 查出结果)
{
树中.add(方法1(孙ID));
}
}
//方法可以且最好带返回值的,这个“回环”比较难解释,看看应该明白。