实现了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 ">=":
filter = Expression.GreaterThanOrEqual(left, right);
break;
case "!=":
filter = Expression.NotEqual(left, right);
break;
case "like":
filter = Expression.Call(left, typeof(string).GetMethod("Contains", new Type[] { typeof(string) }),
Expression.Constant(filterObj.Value));
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;

View File

@ -48,6 +48,10 @@
<Compile Include="OrgManagerApp.cs" />
</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">
<Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project>
<Name>OpenAuth.Domain</Name>

View File

@ -77,5 +77,10 @@ namespace OpenAuth.App
{
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);
/// <summary>
/// 批量更新
/// </summary>
void Update(Expression<Func<T, bool>> exp, T entity);
/// <summary>
/// 批量删除
/// </summary>
void Delete(Expression<Func<T, bool>> exp);
void Save();
}
}

View File

@ -35,6 +35,14 @@ namespace OpenAuth.Mvc.Controllers
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,6 +36,13 @@
$.getJSON("OrgManager/LoadOrg", function (json) {
var zTreeObj = $.fn.zTree.init($("#orgTree"), setting, json);
zTreeObj.expandAll(true);
loadDataGrid(json);
});
});
function loadDataGrid(data) {
$('#test-datagrid-array').datagrid({
gridTitle: '机构列表显示',
@ -45,10 +52,10 @@
{ name: 'Name', width: '150', label: '机构名称' },
{ name: 'CreateTime', width: '120', label: '登记日期' }
],
data: json,
data: data,
hiddenFields: ['Id'],
editUrl: 'ajaxDone1.html',
delUrl: 'ajaxDone1.html',
editUrl: 'OrgManager/AddOrg',
delUrl: 'OrgManager/DelOrg',
editMode: 'dialog',
fullGrid: true,
showLinenumber: true,
@ -57,33 +64,14 @@
filterMult: false,
showTfoot: true
});
});
});
}
function zTreeOnClick(event, treeId, treeNode) {
$.getJSON("OrgManager/LoadChildren", { id: treeNode.Id }, function (json) {
$('#test-datagrid-array').destroy();
$('#test-datagrid-array').datagrid({
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
});
$('#ztree-detail').empty().append('<table id="test-datagrid-array" data-width="100%" data-height="100%" class="table table-bordered"></table>');
loadDataGrid(json);
});
}

View File

@ -8,7 +8,7 @@
<!-- 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="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<connectionStrings>
@ -18,20 +18,20 @@
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="log\\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.txt'"/>
<staticLogFileName value="false"/>
<param name="MaxSizeRollBackups" value="100"/>
<file value="log\\" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<param name="MaxSizeRollBackups" value="100" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO"/>
<level value="INFO" />
<!--文件形式记录日志-->
<appender-ref ref="RollingLogFileAppender"/>
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
@ -78,6 +78,10 @@
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0" />
</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>
</runtime>
<entityFramework>

View File

@ -2,6 +2,7 @@
using System.Data.Entity.Migrations;
using System.Linq;
using System.Linq.Expressions;
using EntityFramework.Extensions;
using OpenAuth.Domain.Interface;
using OpenAuth.Repository.Models;
using Infrastructure;
@ -70,6 +71,16 @@ namespace OpenAuth.Repository
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()
{
Context.SaveChanges();

View File

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

View File

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