繁体   English   中英

将链接列表绑定到datagridview

[英]Bind link list to datagridview

我尝试了下面的代码。 我创建了名为天气的链接列表,并在datagridview上显示数据。 但是发生了错误(“ npc”是一个像方法一样使用的变量)我已经尝试了很多次,但是我无法修复错误。

这是我用于创建链接列表的代码

LinkedList<string> weather = new LinkedList<string>();

private void getW(string city)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("country", typeof(string));
            dt.Columns.Add("Date", typeof(string));
            dt.Columns.Add("Max Temp", typeof(string));
            dt.Columns.Add("Min Temp", typeof(string));
            dt.Columns.Add("Maxwindmph", typeof(string));
            dt.Columns.Add("Maxwindkph", typeof(string));
            dt.Columns.Add("Humidity", typeof(string));
            dt.Columns.Add("Cloud", typeof(string));
            dt.Columns.Add("Icon", typeof(Bitmap));

            city = txttext.Text;

            string uri = string.Format("http://api.apixu.com/v1/forecast.xml?={0}&days=7", city);

            XDocument doc = XDocument.Load(uri);

            LinkedList<string> weather = new LinkedList<string>();

            weather.AddLast ( (string)doc.Descendants("maxtemp_c").FirstOrDefault());
            weather.AddLast  ((string)doc.Descendants("mintemp_c").FirstOrDefault());
            weather.AddLast ( (string)doc.Descendants("maxwind_mph").FirstOrDefault());
            weather.AddLast  ((string)doc.Descendants("maxwind_kph").FirstOrDefault());
            weather.AddLast ((string)doc.Descendants("avghumidity").FirstOrDefault());
            weather.AddFirst ((string)doc.Descendants("text").FirstOrDefault());

         //   foreach (var npc in doc.Descendants("forecastday"))

            foreach (var npc in weather)
            {
                string iconUri = (string)npc("icon").FirstOrDefault();
                WebClient client = new WebClient();
                byte[] image = client.DownloadData("http:" + iconUri);
                MemoryStream stream = new MemoryStream(image);

                Bitmap newBitMap = new Bitmap(stream);
                dt.Rows.Add(new object[] {
                         (string)doc.Descendants("country").FirstOrDefault(),
                           (string)npc("date").FirstOrDefault(),
                           (string)npc("maxtemp_c").FirstOrDefault(),
                           (string)npc("mintemp_c").FirstOrDefault(),
                           (string)npc("maxwind_mph").FirstOrDefault(),
                           (string)npc("maxwind_kph").FirstOrDefault(),
                           (string)npc("avghumidity").FirstOrDefault(),

                           (string)npc("text").FirstOrDefault(),
                           newBitMap
                       });
            }
            dataGridView1.DataSource = dt;
        }

由于错误显示nbc是一个变量,可能您需要

   (string)doc.Descendants("country").FirstOrDefault(),
   (string)npc["date"].FirstOrDefault()

将所有()替换为[]因为tou正在访问属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM