小编Sha*_*shi的帖子

包含对象的两个数组的差异和交集

我有两个数组list1,list2其中包含具有某些属性的对象; userId是Id还是唯一属性:

list1 = [
    { userId: 1234, userName: 'XYZ'  }, 
    { userId: 1235, userName: 'ABC'  }, 
    { userId: 1236, userName: 'IJKL' },
    { userId: 1237, userName: 'WXYZ' }, 
    { userId: 1238, userName: 'LMNO' }
]

list2 = [
    { userId: 1235, userName: 'ABC'  },  
    { userId: 1236, userName: 'IJKL' },
    { userId: 1252, userName: 'AAAA' }
]
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种简单的方法来执行以下三个操作:

  1. list1 operation list2 应该返回元素的交集:

    [
        { userId: 1235, userName: 'ABC'  },
        { userId: 1236, userName: 'IJKL' …
    Run Code Online (Sandbox Code Playgroud)

javascript arrays set-difference set-operations set-intersection

16
推荐指数
4
解决办法
2万
查看次数

Webapi导出到excel损坏的文件下载

我使用OfficeOpenXml ExcelPackage从对象列表生成excel这成功下载文件,但是当我打开文件时,excel会抱怨说它已损坏并且没有以正确的文件格式保存.我也试过使用FIleSaver.js,但也没有运气.同样的错误.对于如何解决这个问题,有任何的建议吗?

服务器代码:

 ExcelPackage _excelPackage = new ExcelPackage();
 ExcelWorksheet _sheet = _excelPackage.Workbook.Worksheets.Add("New Sheet");
 int currentRow = 1;
            foreach (var prod in Products)
            {
                 _sheet.Cells[currentRow, 0].Value = prod.Id;
                 _sheet.Cells[currentRow, 0].Value = prod.Name;
                 _sheet.Cells[currentRow, 0].Value = prod.Price;
                 currentRow++;
             }


HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);    
byte[] stream = _excelPackage.GetAsByteArray()
response.Content = new ByteArrayContent(stream);

response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
    FileName = "Products.xlsx"
};
return response;
Run Code Online (Sandbox Code Playgroud)

客户端(AngularJS服务代码):

var req = {
    url: fpReportsWebAPIURL + 'api/Export/DownloadFile',
    method: 'POST',
    responseType: 'arraybuffer',
    //data: json, …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net-web-api angularjs

5
推荐指数
1
解决办法
873
查看次数

C#不同对象列表的通用方法

我在 C# web api 函数中有一个情况,我需要从我的数据库中检索不同对象的列表,并且需要通过调用各种方法来实现一些逻辑。

我怎样才能通过为所有 3 个对象编写一个通用函数来更好地实现这一点

例子

锁定列表有两种情况

  1. 整个列表被锁定(如果整个列表被锁定,则不要继续并抛出异常)

  2. 只有一个实体被锁定(如果从列表中锁定,则过滤并删除该元素)

    List<Object1> list1;
    List<Object2> list2;
    List<Object3> list3;
    
    private FilterLockedEntities(List<Object1> list1){
    
       if(list1[0].isListLocked) //whole list is locked
         throw ValidationException("Message")
    
       list1.RemoveAll(a => a.IsLocked); //filter locked entities
    
       //some more logic common to all
    
    }
    
    private FilterLockedEntities(List<Object2> list2){
    
       if(list2[0].isListLocked) //whole list is locked
         throw ValidationException("Message")
    
       list2.RemoveAll(a => a.IsLocked); //filter locked entities
    
       //some more logic common to all
    
    }
    
    private FilterLockedEntities(List<Object3> list3){
    
       if(list3[0].isListLocked) //whole list is locked
         throw ValidationException("Message")
    
       list3.RemoveAll(a => a.IsLocked); //filter locked entities …
    Run Code Online (Sandbox Code Playgroud)

.net c# generics c#-4.0

5
推荐指数
1
解决办法
924
查看次数

kendo下拉列表在下拉列表中显示optionlabel

我正在使用kendodropdown.我使用了optionLabel ="Actions",它在下拉列表中显示为一个选项,如何将其作为下拉列表中的值忽略.

有没有办法可以在kendo下拉列表中停止或隐藏optionLabel,以便在下拉列表中显示为一个选项.

var $dropdownElement = $("<input />");

$dropdownElement.appendTo($dropdownContainer);
$dropdownElement.kendoDropDownList({
        dataTextField: "text",
        dataValueField: "value",
        dataSource: dropdown.items,
        optionLabel: 'Actions'
})
Run Code Online (Sandbox Code Playgroud)

截至目前,操作在下拉列表中显示为一个选项,请帮我将其忽略为下拉列表中的值.

javascript kendo-ui angularjs kendo-dropdown

3
推荐指数
1
解决办法
2947
查看次数

专注于关闭模态框或弹出窗口

我有一个关于可访问性的问题。单击按钮或链接即可打开多个图层/模式或弹出窗口。

我需要将焦点保留在单击以打开模式或弹出窗口或弹出窗口的原始元素上,一旦关闭,焦点应返回到单击的元素。

目前,当我在关闭模式窗口或浮出控件后在页面上单击选项卡时,焦点从开始处开始

我正在使用角度引导模式和通过角度状态提供程序配置打开的自定义弹出窗口。

javascript accessibility angularjs uiaccessibility angular-ui-bootstrap

2
推荐指数
1
解决办法
4774
查看次数