标签:
最重要的是排序,分类
1、 分析数据,并获取要访问数据库用到的属性
尽量减少对于数据库的访问(把车辆重复信息整合为一辆信息)获取的是车辆车牌号和gps。用:Dictionary<string, string> Cl_id = new Dictionary<string, string>();
Cl_id.ContainsKey,Cl_id.ContainsValue 获取键值
2、 判断车辆是否在规定范围内同时把剩余结果排序
循环遍历原始数据,把符合要求的存储下来,(同时按照车辆排序)list集合的sort()方法,其中参数要自己写,showVehicle.Sort(Cl_idCompare)
private static int Cl_idCompare(Model.DbHelper.V_QianFeng A, Model.DbHelper.V_QianFeng B)
{
return A.Cl_id.CompareTo(B.Cl_id);//把车牌号作为比较规则
}
3、把同一辆车存储为一个集合。判断是否包含重复车辆(即所有信息都相同)用list集合的equal,重写equal方法,自定义比较规则
public override bool Equals(object obj)
{
if(obj==null)
{
return false;
}
V_QianFeng tmp = null;
tmp = (V_QianFeng)obj;
return this.Qf_id.Equals(tmp.Qf_id);
}
4、 判断一辆汽车的铅封状态(根据时间排序,取的是每把锁最后一个状态)注:自定义比较规则。
5、 把电子锁添加到arraylist中,根据电子锁号判断是否添加了重复信息(l_temp)
6、 再循环遍历l_temp判断“施解封”状态以及“完成状态”,同时修改相应属性值。
7、 最后绑定gridview数据
Gridview显示具体行数据的颜色
protected void grid_vehicle_HtmlRowPrepared(object sender, ASPxGridViewTableRowEventArgs e)
{
if (e.RowType != DevExpress.Web.ASPxGridView.GridViewRowType.Data) return;
string s = (string)e.GetValue("Qqzt_name");
if (s.Trim() == "未全部关闭")
{
e.Row.BackColor = Color.Red;
}
else
{
e.Row.BackColor = Color.Green;
}
}
获取:char,varchar,nvarchar
char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍
varchar[(n)]
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节
CHAR存储定长数据很方便,CHAR字段上的索引效率级高
一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar
list集合排序用sort,但是要自定义比较规则
ArrayList与数组转换
例1:
ArrayList List = new ArrayList();
List.Add(1);
List.Add(2);
List.Add(3);
Int32[] values = (Int32[])List.ToArray(typeof(Int32));
例2:
ArrayList List = new ArrayList();
List.Add(1);
List.Add(2);
List.Add(3);
Int32[] values = new Int32[List.Count];
List.CopyTo(values);
标签:
原文地址:http://www.cnblogs.com/wuzaishijie/p/5130888.html