Jquery 从LINQ结果集中删除列名
不知道我的问题是对的还是我的计划是对的,但我正在使用Jquery 从LINQ结果集中删除列名,jquery,json,linq,datatable,Jquery,Json,Linq,Datatable,不知道我的问题是对的还是我的计划是对的,但我正在使用jquerydatatable插件,并从Json转换的LINQ结果中获取它的datasource 我的问题是,我的resultset包含来自我的datatable(ado)的列的名称,我认为Jquery datatable(客户端)不需要这些名称 在将LINQ结果转换为json之前,是否可能不包括或删除LINQ结果中的列名 这是我的服务器代码 context.Response.ContentType = "application/json";
jquery
datatable插件,并从Json
转换的LINQ
结果中获取它的datasource
我的问题是,我的resultset包含来自我的datatable(ado)的列的名称,我认为Jquery datatable(客户端)不需要这些名称
在将LINQ结果转换为json之前,是否可能不包括或删除LINQ结果中的列名
这是我的服务器代码
context.Response.ContentType = "application/json";
var y = from t in dt select t;
ret = JsonConvert.SerializeObect(y, Formatting.None);
context.Response.Write(ret);
上面的代码返回一个包含所有列名的结果。我也在使用JSON.NET
下面是我如何填充我的dt
dsTableAdapters.dtTableAdapter adap = new dsTableAdapters.dtTableAdapter();
adap.Fill(ds.dt);
输出JSON:
[
[
"COL1": 1,
"COL2": "R1C2"
},
{
"COL1: 2,
"COL2": "R2C2"
},
{
"COL1": 3,
"COL2": "R3C3"
}
]
基于jquery Datatable插件的所需输出必须是:
[
[
1,
"R1C2"
],
[
2,
"R2C2"
],
[
3,
"R3C3"
]
]
var y=(从dt.AsEnumerable()中的t开始)
选择新的{COL1=t.Field(“FirstName”),
COL2=t.Field(“LastName”)}.ToList();
假设dt是您的DataTable,在其中有两列名为FirstName和LastName,您只想输出它们
这会奏效的。测试
DataTable上的
AsEnumerable
扩展方法将返回数据行的集合。然后,使用所需字段从Linq结果进行投影。因为它是dataRow类型,所以需要指定每个列的类型 但是如何为数据给出表的列名呢?我不知道我是否理解你的问题,但我只做了LINQ FROM T IN DT SELECT NEW{T.COL1,T.COL2}然后转换为json请在下面的代码中a)通过linq加载数据并将其转换为json,b)使用datatable在客户端使用json。database和datatable都是不同的东西。。。jquery是javascript框架,json是传输数据的标准数据结构,顺便说一句,抱歉耽搁了。这是我的服务器代码。谢谢Shyju,但我已经尝试过了,结果是一样的。我想如果我只包括一列,那就行了。变量y=(从dt中的t选择t.FirstName).ToList();只使用要在选择部分中输出的列。结果仍然相同,仍然有列名。非常感谢。但是在将其转换为JSON之后。仍然有列名。这是JSON之后的输出。[{“名称”:22,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”},{“名称”:23,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”},{“名称”:24,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”},{“名称”:1,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”}]
var y = (from t in dt.AsEnumerable()
select new { COL1= t.Field<string>("FirstName"),
COL2 = t.Field<string>("LastName") }).ToList();