zoukankan      html  css  js  c++  java
  • List&LinQ

    DataTable会将整个数据表接收过来,可真正使用的数据未必是整个数据表所有的数据。

    使用List可以接收需要使用的数据

    public class Data_Model
        {
            public string Shift { get; set; }
            public string Line { get; set; }
            public string SO { get; set; }
            public string RefNo { get; set; }
            public string PartNo { get; set; }
            public string SoQty { get; set; }
            public string chgSoQty { get; set; }
            public string PlanStartTime { get; set; }
            public string WaitMin { get; set; }
            public string Remark { get; set; }
            public string StartTime{ get; set; }
          
    }
    View Code
    List<Data_Model> list = new List<Data_Model>();
                for (int m = 0; m < dt.Rows.Count; m++)
                {
                    Data_Model model = new Data_Model();
                    model.Shift = dt.Rows[m]["Shift"].ToString();
                    model.Line = dt.Rows[m]["Line"].ToString();
                    model.SO = dt.Rows[m]["So"].ToString();
                    model.RefNo = dt.Rows[m]["RefNo"].ToString();
                    model.SoQty = dt.Rows[m]["SoQty"].ToString();
                    model.chgSoQty = dt.Rows[m]["chgSoQty"].ToString();
                    model.StartTime = dt.Rows[m]["StartTime"].ToString();
                    model.PlanStartTime = dt.Rows[m]["PlanStartTime"].ToString();
                    model.WaitMin = dt.Rows[m]["WaitMin"].ToString();
                    model.Remark = dt.Rows[m]["Remark"].ToString();
                    list.Add(model);
                }
    View Code

    定义一个类用来作为接收数据的对象,并且类中含有需要接收的属性。将对象添加到List中。GridTable接受List.

    通过List可以选择性的接收部分数据,此外List中的数据也会进行筛选,显示部分满足 条件的信息。

    筛选List信息

    if (cboLine.Text != "ALL" && cboSO.Text != "ALL" && cboStatus.Text == "ALL")
                {
                    list = list.Where(a => a.Line.Contains(cboLine.Text) && a.SO.Contains(cboSO.Text)).ToList();
                }

    筛选List使用的是Where方法,根据下拉框中的筛选包含条件,可多个也可单个。

    List获取每行的某个值

    例如获取每行的状态,将其改变。

    int coun = grdData.RowCount;
                for (int i = 0; i < coun; i++)
                {
                    grdData.Rows[i].Cells["RowID"].Value = i + 1;
                }
                for (int j = 0; j < coun; j++)
                {
                    if (grdData.RowCount > 0)
                    {
                        if (list[j].Status.ToString().Equals(""))
                        {
                            strRefStatus = "EMPTY";
                        }
                        else
                        {
                            strRefStatus = list[j].Status.ToString();
                        }
                        if (strRefStatus != "FULL")
                        {
                            strStatus = "";
                            if (strRefStatus == "EMPTY")
                            {
                                strStatus = "备料";
                            }
                            if (strStatus == "PREPARE")
                            {
                                strStatus = "备料中";
                            }
                            if (strRefStatus == "WAIT")
                            {
                                strStatus = "等待";
                            }
                        }
                    }
                    grdData.Rows[j].Cells["Status"].Value = strStatus;
                }
    View Code

     LinQ查询

    LINQ查询
    从LinQ查询中生成新的DataTable
    Static void BuildDataTableFromQuery(DataTable data)
    {
    var cars= from car in data.AsEnumerable()
                   where
                   car.id>5
                   select car;.
    DataTable newTable =cars.CopyToDataTable();//使用该结果集来构建新的DataTable
    
    }
  • 相关阅读:
    WGS84经纬度坐标与web墨卡托之间的转换【转】
    ArcGIS API for Javascript配置
    百度地图BMap API实例
    VS2010 Web项目需要缺少的Web组件才能加载
    单态模式
    对服务的操作
    根据子级ID获取其所有父级
    在DropDownList里显示多级分类
    jQuery给CheckBox添加事件
    FolderBrowserDialog使用
  • 原文地址:https://www.cnblogs.com/cdjbolg/p/11756931.html
Copyright © 2011-2022 走看看