9最大,为什么啊 各位大大们!!!

ruanwei1987 2009-09-11 12:01:19
如题,当我把堆数字传到datatable 然后再用dataview排序时,9总在最上面,


我这些数字式 INT型,


...全文
165 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
.net framework源代码中写的明明白白,默认的,就是string类型。

public class DataColumn : MarshalByValueComponent
{
public DataColumn(string columnName) : this(columnName, typeof(string), null, MappingType.Element){}
路人乙e 2009-09-11
  • 打赏
  • 举报
回复
dt.Columns.Add("a");
dt.Columns.Add("b");

这是INT型?忽悠鬼呢!看#12楼
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sp1234 的回复:]
C# codedt.Columns.Add("a",typeof(int));
dt.Columns.Add("b",typeof(int));
[/Quote]

结贴了 呵呵谢谢SP1234

你出现的很 神奇 !!!
感激
  • 打赏
  • 举报
回复
dt.Columns.Add("a",typeof(int));
dt.Columns.Add("b",typeof(int));
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
楼上的几位 跑哪了????
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 snthpdx 的回复:]
dataview肯定是按照字符串的形式排序的,你吧所有的数字都格式化为2位即9为09,就应该么有问题了
[/Quote]


是这样吗???
可是我以前写过一个就可以啊 并且 这个我用

dv.Sort = "a desc";
dv.Sort = "a asc";




都是 OK 为什么 是第二列的时候就不行呢 ??/
yrj_star 2009-09-11
  • 打赏
  • 举报
回复
先回个帖子
学不会的WebGL 2009-09-11
  • 打赏
  • 举报
回复
dataview肯定是按照字符串的形式排序的,你吧所有的数字都格式化为2位即9为09,就应该么有问题了
dahaidao 2009-09-11
  • 打赏
  • 举报
回复
怎么会这样,一会试一下。
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
这个之后 就9在上面了 为啥啊???哪一句转化成string?大家帮个忙啊
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
汗 我贴源码 你们看下 刚去吃了个饭.....


int[,] a = new int[4, 2];
a[0, 0] = 1;
a[0, 1] = 10;
a[1, 0] = 2;
a[1, 1] = 15;
a[2, 0] = 3;
a[2, 1] = 9;
a[3, 0] = 4;
a[3, 1] = 12;

DataTable dt = new DataTable();
dt.Columns.Add("a");
dt.Columns.Add("b");
if (a[2, 1] > a[1, 1])
{
System.Console.Write("9比15还打?");
}
else
{
System.Console.WriteLines("还是15大些!");
}

for (int i = 0; i < 4; i++)
{
DataRow dr = dt.NewRow();
for (int j = 0; j < 2; j++)
{
if (j == 0)
{
dr[0] = a[i, 0];
}
else
{
dr[1] = a[i, 1];
}
}
dt.Rows.Add(dr);
}


DataView dv = new DataView(dt);
dv.Sort = "b desc";



风之影子 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dancingbit 的回复:]
肯定是不小心转成string类型了。
[/Quote]


up
dancingbit 2009-09-11
  • 打赏
  • 举报
回复
肯定是不小心转成string类型了。
别样苍茫 2009-09-11
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();
dt.Columns.Add("Sum");
DataRow dr = dt.NewRow();
dr["Sum"] = 1;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Sum"] = 2;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Sum"] = 3;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Sum"] = 4;
dt.Rows.Add(dr);
dr = dt.NewRow();
dt.Rows.Add(dr);
dt.DefaultView.Sort = "Sum ASC";
DataTable dtTemp = dt.DefaultView.ToTable();
dtTemp 即按你需要排序的表。


根据对应的值排序即可
jwdream2008 2009-09-11
  • 打赏
  • 举报
回复
不懂!
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 sp1234 的回复:]
引用 16 楼 ruanwei1987 的回复:
刚结贴了  哈哈....
SP1234 你说的那些太高深了,
谁没事去看.netframework源码啊  是不是 !!!


不是没事去看,我要求我的开发人员如果有问题不要问别人,去看源代码。
[/Quote]



看来对自己狠一点,是有好处的啊....教师节快乐,sp1234 晚说了一天
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
今天学了一招,,写了 sp1234

从近往后我不崇拜春哥了,我崇拜你1!!!
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ruanwei1987 的回复:]
刚结贴了  哈哈....
SP1234 你说的那些太高深了,
谁没事去看.netframework源码啊  是不是 !!!
[/Quote]

不是没事去看,我要求我的开发人员如果有问题不要问别人,去看源代码。
  • 打赏
  • 举报
回复
哦,之前的一段:
public sealed class DataColumnCollection : InternalDataCollectionBase
{
public DataColumn Add(string columnName)
{
DataColumn column = new DataColumn(columnName);
this.Add(column);
return column;
}


因此当你向 dt.Columns 插入一个列名时,调用这个方法,它要 new 一个DataColumn出来,默认地就是 typeof(string)作为类型。
ruanwei1987 2009-09-11
  • 打赏
  • 举报
回复
刚结贴了 哈哈....
SP1234 你说的那些太高深了,
谁没事去看.netframework源码啊 是不是 !!!

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧