相关疑难解决方法(0)

将JSON转换为DataTable

我有以下格式的JSON:

[
    {"id":"10","name":"User","add":false,"edit":true,"authorize":true,"view":true},
    {"id":"11","name":"Group","add":true,"edit":false,"authorize":false,"view":true},
    {"id":"12","name":"Permission","add":true,"edit":true,"authorize":true,"view":true}
]
Run Code Online (Sandbox Code Playgroud)

如何将其转换为C#DataTable对象,如下所示?

---------------------------------------------------------------------
ID    |  Name     |  Add    |   Edit  | View   | Authorize
---------------------------------------------------------------------
10    | User      | true    |  true   | true   |  true
11    | Group     | true    |  true   | true   |  true
12    | Permission| true    |  true   | true   |  true
Run Code Online (Sandbox Code Playgroud)

c# datatable json

45
推荐指数
4
解决办法
19万
查看次数

如何将列表转换为数据表

我有一些属性的数据列表.我想将列表数据转换为数据表.如何将列表转换为datable.

c# asp.net

33
推荐指数
2
解决办法
21万
查看次数

使用Petapoco批量插入/更新

我正在使用该Save()方法来插入或更新记录,但我想让它只执行一次数据库命令来执行批量插入和批量更新.我该怎么做呢?

petapoco

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

C#DataGridView使用Generic List作为基础源进行排序

我正在使用Windows窗体DataGridView来显示MyObject对象的通用列表.

首先,我将此集合包装到BindingSourceCollection中,然后:

dataGridView.DataSource = myBindingSource;
Run Code Online (Sandbox Code Playgroud)

我想要做的是允许用户通过单击表示MyObject中具体属性的列标题对列进行排序.

我读过一些文章,我应该在绑定之前进行排序.但是,如果我想实时对列进行排序,那么它就无法帮助我.

问题是,我到底需要做什么,所以我可以看到 DataGridView中的排序箭头,我可以对每一列进行排序

c# sorting datagridview

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

Cql批量复制/插入C#

我是JSON和SQLBulkCopy的新手.我有一个JSON格式的POST数据,我希望使用C#在Microsoft SQL中批量复制/插入.

JSON格式:

{
    "URLs": [{
        "url_name": "Google",
        "url_address": "http://www.google.com/"
    },
    {
        "url_name": "Yahoo",
        "url_address": "http://www.yahoo.com/"
    },
    {
        "url_name": "FB",
        "url_address": "http://www.fb.com/"
    },
    {
        "url_name": "MegaSearches",
        "url_address": "http://www.megasearches.com/"
    }]
}
Run Code Online (Sandbox Code Playgroud)

类别:

public class UrlData
{
    public List<Url> URLs {get;set;}
}

public class Url
{
    public string url_address {get;set;}
    public string url_name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能有效地做到这一点?

.net c# sql sqlbulkcopy

17
推荐指数
2
解决办法
6万
查看次数

如何将List <T>转换为DataSet?

给定一个对象列表,我需要将其转换为数据集,其中列表中的每个项目由一行表示,每个属性都是行中的一列.然后将此DataSet传递给Aspose.Cells函数,以便将Excel文档创建为报表.

说我有以下内容:

public class Record
{
   public int ID { get; set; }
   public bool Status { get; set; }
   public string Message { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

给定List记录,如何将其转换为DataSet,如下所示:

ID Status Message
1  true   "message" 
2  false  "message2" 
3  true   "message3" 
...
Run Code Online (Sandbox Code Playgroud)

目前我能想到的唯一一件事如下:

DataSet ds = new DataSet
ds.Tables.Add();
ds.Tables[0].Add("ID", typeof(int));    
ds.Tables[0].Add("Status", typeof(bool));
ds.Tables[0].Add("Message", typeof(string));

foreach(Record record in records)
{
    ds.Tables[0].Rows.Add(record.ID, record.Status, record.Message);
}
Run Code Online (Sandbox Code Playgroud)

但这种方式让我觉得必须有一个更好的方法,因为至少如果将新属性添加到R​​ecord中,那么它们将不会显示在DataSet中......但同时它允许我控制每个属性被添加到行中.

有谁知道更好的方法吗?

c# transformation list dataset

15
推荐指数
1
解决办法
4万
查看次数

在ASP.Net Core 2.0中导出到Excel

我曾经使用下面的代码将数据导出到asp.net mvc中的excel

    Response.AppendHeader("content-disposition", "attachment;filename=ExportedHtml.xls");
    Response.Charset = "";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ContentType = "application/vnd.ms-excel";
    this.EnableViewState = false;
    Response.Write(ExportDiv.InnerHtml);
    Response.End();
Run Code Online (Sandbox Code Playgroud)

当此代码运行时,它会创建一个文件并要求保存位置

我尝试使用NPOI并很好地创建Excel文件,但无法在客户端位置保存文件.

有没有办法让上面的代码适用于asp.net core 2.0或者我可以在客户端机器上以excel格式保存数据的任何其他方式?

c# excel asp.net-core-2.0

12
推荐指数
2
解决办法
3万
查看次数

列出<T>到DataView

如何将List转换为.Net中的数据视图.

c# dataview list

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

数据表的实体列表

我有一个实体列表,其中包含一些字段作为其他实体.

例如.

MyEntity
Int id
ContactEntity Contact -> contactId, Name etc…
AddressEntity Address
Run Code Online (Sandbox Code Playgroud)

所以我List< MyEntity>需要将其转换为数据表.但是从子实体我只想选择一个字段.

是否有可能或者我有其他选择.

UPDATE

当我尝试使用 ivowiblo描述的CopyToDataTable()时,它会给我以下错误

 The type 'AnonymousType#1' cannot be used as type parameter 'T' in the generic type or
 method 'System.Data.DataTableExtensions.CopyToDataTable<T>(System.Collections.Generic.IEnumerable<T>)'.
 There is no implicit reference conversion from 'AnonymousType#1' to 'System.Data.DataRow'.
Run Code Online (Sandbox Code Playgroud)

c# datatable .net-4.0

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

在List <T>上对Datagridview数据源进行排序,其中T是匿名的

一个相对简单的问题.我有一个datagridview,它只是显示统计信息.没有编辑/添加/删除行.datagridview绑定到List.我想要实现的是让用户能够对列进行排序.

class Market
{
    public int Location {get;set;}
    public float Value {get;set;}
    //...
}
class City
{
    public String Name {get;set;}
    //...
}

List<Market> _markets;
List<City> _cities;
//Lists are populated.

dataGridView1.DataSource = _markets.Select(market => 
    new { _cities[market.Location].Name, market.Value}).ToList();
Run Code Online (Sandbox Code Playgroud)

正如所料,列不可排序,但显示的信息是您想要的.我的问题是如何根据具有最少复杂和最少代码量的列类型进行DataGridView排序,因为代码将在整个过程中多次使用.

此应用程序用于使用具有视图的数据库.然后这些视图填充DataGridViews.观点仍然存在,因此可能的解决方案可能是:

DataBase.ViewMarketValue temp = new DataBase.ViewMarketValue()

_markets.ForEach(market => temp.AddViewMarketValueRow(_cities[market.Location].Name, market.Value);
dataGridView1.DataSource = temp;
Run Code Online (Sandbox Code Playgroud)

这导致了所需的:具有所有信息的数据网格视图,并且它是可排序的.唯一的问题是在这方面使用视图似乎是错误的.所以我该怎么做?

c# linq sorting datagridview anonymous-types

7
推荐指数
1
解决办法
1万
查看次数