开发平台:WINDOWS+.NET
开发语言:c#
问题: 软件里有一个下拉框,列出的是一个"版本号"的字段,字段是从0开始,依次加1,既:0,1,2……。一直到9没问题。到是10,问题出来了。里面的排序是0,1,10,2,3……,不是我需要的按数字大小排序,也既:0,1,2……9,10……。请教大虾这个问题要怎么处理,才能出现我要的结果!是和程序设计有关,还是在WINDOWS里设置排序规则。因为在WINDOWS里,按名称排序文件,也是1,10,2……这样的。(附:由于内部原因,不考虑把1,2…… 设置成01,02……)
开发语言:c#
问题: 软件里有一个下拉框,列出的是一个"版本号"的字段,字段是从0开始,依次加1,既:0,1,2……。一直到9没问题。到是10,问题出来了。里面的排序是0,1,10,2,3……,不是我需要的按数字大小排序,也既:0,1,2……9,10……。请教大虾这个问题要怎么处理,才能出现我要的结果!是和程序设计有关,还是在WINDOWS里设置排序规则。因为在WINDOWS里,按名称排序文件,也是1,10,2……这样的。(附:由于内部原因,不考虑把1,2…… 设置成01,02……)
{
Dropdownlist3.DataSource=GetData();
Dropdownlist3.DataTextField="Code";
Dropdownlist3.DataValueField="FName";
Dropdownlist3.DataBind();
}
private DataTable GetData()
{
DataTable dt;
dt = new DataTable(); dt.Columns.Add("Code",System.Type.GetType("System.Int32"));//System.String
dt.Columns.Add("FName"); for(int i=1; i <= 30; i++)
{
DataRow dr = dt.NewRow();
dr["Code"] = i;
dr["FName"] = "FName" + i.ToString();
dt.Rows.Add(dr);
}
dt.DefaultView.Sort=" Code asc";
return dt;
}
select convert(int,field) as code,name from tbl order by convert(int,field)
然后帮上去
按先后顺序添加.
ComboBox a = new ComboBox();
a.Sorted = false;
comboBox.Item.Add( str )
改为
comboBox.Item.Add( str.PadLeft( 5, ' ' ) );即进行格式化显示。
private DataTable GetData()
{
DataTable dt;
dt = new DataTable(); dt.Columns.Add("Code",System.Type.GetType("System.Int32"));//System.String
dt.Columns.Add("FName"); for(int i=1; i <= 30; i++)//这个从数据库读取后自己构造datatable
{
DataRow dr = dt.NewRow();
dr["Code"] = i;
dr["FName"] = "FName" + i.ToString();
dt.Rows.Add(dr);
}
dt.DefaultView.Sort=" Code asc";
return dt;
}
把读取出来的dataset或其他自己构造一个类似上面的datatable,然后绑定就可以了,这样效率会低一些