首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将链接列表绑定到datagridview

将链接列表绑定到datagridview
EN

Stack Overflow用户
提问于 2017-10-20 16:32:08
回答 1查看 50关注 0票数 0

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

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

代码语言:javascript
复制
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;
        }
EN

回答 1

Stack Overflow用户

发布于 2017-10-20 16:38:28

由于错误说明nbc是一个变量,因此您可能需要

代码语言:javascript
复制
   (string)doc.Descendants("country").FirstOrDefault(),
   (string)npc["date"].FirstOrDefault()

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46845224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档