使用DataView条件查询,绑定后的结果有一列没有显示解决方案

使用DataView条件查询,绑定后的结果有一列没有显示
将文本读取到DataTable中,然后用DataView查询,Channel=’通道0‘,效果如下使用DataView条件查询,绑定后的结果有一列没有显示解决方案

下面上代码



class Record
    {

        //通道号
        private string channelId;
        public string ChannelId
        {
            get { return channelId; }
            set { channelId = value; }
        }

        //开始时间
        private string startTime;
        public string StartTime
        {
            get { return startTime; }
            set { startTime = value; }
        }

        //结束时间
        private string endTime;
        public string EndTime
        {
            get { return endTime; }
            set { endTime = value; }
        }

        //持续时间
        private string lastTime;
        public string LastTime
        {
            get { return lastTime; }
            set { lastTime = value; }
        }

        //数值
        private string number;
        public string Number
        {
            get { return number; }
            set { number = value; }
        }

        /// <summary>
        /// 读取文本到DataTable中
        /// </summary>
        /// <param name="str">文件路径</param>
        /// <returns></returns>
        public DataTable ReadToDataTable(string str)
        {
            DataTable dt = new DataTable();
            using (StreamReader objReader = new StreamReader(str,Encoding.Default))
            {
                dt.Columns.Add("Channel", System.Type.GetType("System.String"));
                dt.Columns.Add("StartTime", System.Type.GetType("System.String"));
                dt.Columns.Add("EndTime", System.Type.GetType("System.String"));
                dt.Columns.Add("LastTime", System.Type.GetType("System.String"));
                dt.Columns.Add("Number", System.Type.GetType("System.String"));
                string sLine = "";
                while (sLine != null)
                {
                    sLine = objReader.ReadLine();
                    if (sLine != null && !sLine.Equals(""))
                    {
                        DataRow dr = dt.NewRow();
                        string[] values = sLine.Split('\t');
                        dr["Channel"] = values[0];
                        dr["StartTime"] = values[1];
                        dr["EndTime"] = values[2];
                        dr["LastTime"] = values[3];
                        dr["Number"] = values[4];
                        dt.Rows.Add(dr);
                    }
                }
                objReader.Close();
            }
            return dt;
        }

        /// <summary>
        /// 通过条件查出信息
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="str">查询条件</param>
        /// <returns></returns>
        //public Record[] GetRecords(DataTable dt,string str)
        //{
        //   DataRow[] rows= dt.Select(str);
        //   Record[] items = new Record[rows.Length];
        //   for (int i = 0; i < rows.Length; i++)
        //   {
        //       Record  record = new Record();
        //       record.ChannelId = (string)rows[i]["Channel"];
        //       record.StartTime = (string)rows[i]["StartTime"];
        //       record.EndTime = (string)rows[i]["EndTime"];
        //       record.lastTime = (string)rows[i]["LastTime"];
        //       record.Number = (string)rows[i]["Number"];
        //       items[i] = record;
        //   }
        //   return items;
        //}

        public DataView GetDv(DataTable dt, string str)
        {
            DataView dv = new DataView(dt);
            dv.RowFilter = str;
            return dv;
        }
    }



 
           Record rd=new Record();
            string channelId = cmbChannel.Text;
            string startTime = dpStart.SelectedDate.ToString();
            string endTime = dpEnd.SelectedDate.ToString();

            string str = "Channel LIKE '%" + channelId + "%'";
            //dg.DataContext = rd.GetRecords(rd.ReadToDataTable(@"Record.txt"), str);
            //string str="Channel="+channelId+"and StartTime LIKE’%"+startTime+"%’"+"and StartTime LIKE’%"+endTime+"%’";

            dg.ItemsSource = rd.GetDv(rd.ReadToDataTable(@"Record.txt"), str);

            //dg.ItemsSource=rd.ReadToDataTable(@"Record.txt").DefaultView;
        }



DataTable中数据 能显示完全

求解答    谢谢
------解决思路----------------------
DataView的通道号绑定的字段是否为Channel
------解决思路----------------------
先断点看DataView里到底是什么,不要盲目怀疑
如果DataView里有那一列,再看前台的datagridview控件是如何绑定的