实现了ztree与datagrid互动

This commit is contained in:
yubaolee 2015-10-30 23:14:31 +08:00
parent 104866d83b
commit 1f574aca70
10 changed files with 99 additions and 52 deletions

View File

@ -87,11 +87,24 @@ namespace Infrastructure
case ">=": case ">=":
filter = Expression.GreaterThanOrEqual(left, right); filter = Expression.GreaterThanOrEqual(left, right);
break; break;
case "!=":
filter = Expression.NotEqual(left, right);
break;
case "like": case "like":
filter = Expression.Call(left, typeof(string).GetMethod("Contains", new Type[] { typeof(string) }), filter = Expression.Call(left, typeof(string).GetMethod("Contains", new Type[] { typeof(string) }),
Expression.Constant(filterObj.Value)); Expression.Constant(filterObj.Value));
break; break;
case "not in":
var listExpression = Expression.Constant(filterObj.Value.Split(',').ToList()); //数组
var method = typeof(List<string>).GetMethod("Contains", new Type[] { typeof(string) }); //Contains语句
filter = Expression.Not(Expression.Call(listExpression, method, left));
break;
case "in":
var lExp = Expression.Constant(filterObj.Value.Split(',').ToList()); //数组
var methodInfo = typeof(List<string>).GetMethod("Contains", new Type[] { typeof(string) }); //Contains语句
filter = Expression.Call(lExp, methodInfo, left);
break;
} }
return filter; return filter;

View File

@ -48,6 +48,10 @@
<Compile Include="OrgManagerApp.cs" /> <Compile Include="OrgManagerApp.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj">
<Project>{5FEAEC9A-4F1E-4EE7-B377-9DB1B0870DAC}</Project>
<Name>Infrastructure</Name>
</ProjectReference>
<ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj"> <ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj">
<Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project> <Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project>
<Name>OpenAuth.Domain</Name> <Name>OpenAuth.Domain</Name>

View File

@ -77,5 +77,10 @@ namespace OpenAuth.App
{ {
return _repository.Find(u => u.ParentId == orgId); return _repository.Find(u => u.ParentId == orgId);
} }
public void DelOrg(int Id)
{
_repository.Delete(u =>u.Id ==Id);
}
} }
} }

View File

@ -35,6 +35,16 @@ namespace OpenAuth.Domain.Interface
void Delete(T entity); void Delete(T entity);
/// <summary>
/// 批量更新
/// </summary>
void Update(Expression<Func<T, bool>> exp, T entity);
/// <summary>
/// 批量删除
/// </summary>
void Delete(Expression<Func<T, bool>> exp);
void Save(); void Save();
} }
} }

View File

@ -35,6 +35,14 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(_orgApp.LoadChildren(id)); return JsonHelper.Instance.Serialize(_orgApp.LoadChildren(id));
} }
public void DelOrg(string json)
{
var delObj = JsonHelper.Instance.Deserialize<Org[]>(json);
foreach (var obj in delObj)
{
_orgApp.DelOrg(obj.Id);
}
}
} }
} }

View File

@ -36,54 +36,42 @@
$.getJSON("OrgManager/LoadOrg", function (json) { $.getJSON("OrgManager/LoadOrg", function (json) {
var zTreeObj = $.fn.zTree.init($("#orgTree"), setting, json); var zTreeObj = $.fn.zTree.init($("#orgTree"), setting, json);
zTreeObj.expandAll(true);
$('#test-datagrid-array').datagrid({ loadDataGrid(json);
gridTitle: '机构列表显示',
showToolbar: true,
toolbarItem: 'all',
columns: [
{ name: 'Name', width: '150', label: '机构名称' },
{ name: 'CreateTime', width: '120', label: '登记日期' }
],
data: json,
hiddenFields: ['Id'],
editUrl: 'ajaxDone1.html',
delUrl: 'ajaxDone1.html',
editMode: 'dialog',
fullGrid: true,
showLinenumber: true,
showCheckboxcol: true,
paging: false,
filterMult: false,
showTfoot: true
});
}); });
}); });
function loadDataGrid(data) {
$('#test-datagrid-array').datagrid({
gridTitle: '机构列表显示',
showToolbar: true,
toolbarItem: 'all',
columns: [
{ name: 'Name', width: '150', label: '机构名称' },
{ name: 'CreateTime', width: '120', label: '登记日期' }
],
data: data,
hiddenFields: ['Id'],
editUrl: 'OrgManager/AddOrg',
delUrl: 'OrgManager/DelOrg',
editMode: 'dialog',
fullGrid: true,
showLinenumber: true,
showCheckboxcol: true,
paging: false,
filterMult: false,
showTfoot: true
});
}
function zTreeOnClick(event, treeId, treeNode) { function zTreeOnClick(event, treeId, treeNode) {
$.getJSON("OrgManager/LoadChildren", { id: treeNode.Id }, function (json) { $.getJSON("OrgManager/LoadChildren", { id: treeNode.Id }, function (json) {
$('#test-datagrid-array').destroy();
$('#test-datagrid-array').datagrid({ $('#ztree-detail').empty().append('<table id="test-datagrid-array" data-width="100%" data-height="100%" class="table table-bordered"></table>');
gridTitle: '机构列表显示', loadDataGrid(json);
showToolbar: true,
toolbarItem: 'all',
columns: [
{ name: 'Name', width: '150', label: '机构名称' },
{ name: 'CreateTime', width: '120', label: '登记日期' }
],
data: json,
hiddenFields: ['Id'],
editUrl: 'ajaxDone1.html',
delUrl: 'ajaxDone1.html',
editMode: 'dialog',
fullGrid: true,
showLinenumber: true,
showCheckboxcol: true,
paging: false,
filterMult: false,
showTfoot: true
});
}); });
} }

View File

@ -8,7 +8,7 @@
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections> </configSections>
<connectionStrings> <connectionStrings>
@ -18,20 +18,20 @@
<log4net> <log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置--> <!--定义文件存放位置-->
<file value="log\\"/> <file value="log\\" />
<appendToFile value="true"/> <appendToFile value="true" />
<rollingStyle value="Date"/> <rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'"/> <datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false"/> <staticLogFileName value="false" />
<param name="MaxSizeRollBackups" value="100"/> <param name="MaxSizeRollBackups" value="100" />
<layout type="log4net.Layout.PatternLayout"> <layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout> </layout>
</appender> </appender>
<root> <root>
<level value="INFO"/> <level value="INFO" />
<!--文件形式记录日志--> <!--文件形式记录日志-->
<appender-ref ref="RollingLogFileAppender"/> <appender-ref ref="RollingLogFileAppender" />
</root> </root>
</log4net> </log4net>
@ -78,6 +78,10 @@
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" /> <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0" /> <bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>
<entityFramework> <entityFramework>

View File

@ -2,6 +2,7 @@
using System.Data.Entity.Migrations; using System.Data.Entity.Migrations;
using System.Linq; using System.Linq;
using System.Linq.Expressions; using System.Linq.Expressions;
using EntityFramework.Extensions;
using OpenAuth.Domain.Interface; using OpenAuth.Domain.Interface;
using OpenAuth.Repository.Models; using OpenAuth.Repository.Models;
using Infrastructure; using Infrastructure;
@ -70,6 +71,16 @@ namespace OpenAuth.Repository
Save(); Save();
} }
public void Update(Expression<Func<T, bool>> exp, T entity)
{
Context.Set<T>().Where(exp).Update(u => entity);
}
public void Delete(Expression<Func<T, bool>> exp)
{
Context.Set<T>().Where(exp).Delete();
}
public void Save() public void Save()
{ {
Context.SaveChanges(); Context.SaveChanges();

View File

@ -36,6 +36,9 @@
<Reference Include="EntityFramework"> <Reference Include="EntityFramework">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath> <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
</Reference> </Reference>
<Reference Include="EntityFramework.Extended">
<HintPath>..\packages\EntityFramework.Extended.6.1.0.168\lib\net45\EntityFramework.Extended.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer"> <Reference Include="EntityFramework.SqlServer">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath> <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference> </Reference>

View File

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="EntityFramework" version="6.1.3" targetFramework="net45" /> <package id="EntityFramework" version="6.1.3" targetFramework="net45" />
<package id="EntityFramework.Extended" version="6.1.0.168" targetFramework="net45" />
</packages> </packages>