如何使用WCF返回listView的正确值?

发布于 2025-02-12 23:49:44 字数 2645 浏览 0 评论 0原文

我想使用C#中的WCF从数据库中检索到的信息填充ListView,并且无法检索正确的数据listView绑定。

  public interface IServicePl
    {

        [OperationContract]
 [OperationContract]
        IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments();
        
        
    }
    [DataContract]
    public class InterventiiCuEchipament
    {
        [DataMember]
        public string EchipamentInterventie { get; set; }
        public int id_interventie { get; set; }
        public string tip_interventie { get; set; }
        public string responsabil { get; set; }
        public DateTime data_finalizare { get; set; }
        public bool status { get; set; }
    }
       public IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments()
        {
               try
                {
                IEnumerable<InterventiiCuEchipament> query =  from sel1 in dataP.interventiis
                            join sel2 in dataP.sesizaris
                            on sel1.id_interventie equals sel2.id_sesizare
                            select new InterventiiCuEchipament()
                            {
                                id_interventie = sel1.id_interventie,
                                EchipamentInterventie = sel2.echipament,
                                tip_interventie = sel2.tip_sesizare,
                                responsabil = sel1.responsabil,
                                data_finalizare = (DateTime)sel1.data_finalizare,
                                status = (bool)sel1.status

                            };
                    return query;
                }

在客户端,我有以下代码:

 if (client.InnerChannel.State != CommunicationState.Faulted)
                    {
                        List<InterventiiCuEchipament> ListaInterventii = new List<InterventiiCuEchipament>();
                         ListaInterventii = client.GetInterventiiCuEchipamentsAsync().Result.ToList();
                            InterventiiList.ItemsSource = ListaInterventii;
                        InterventiiList.Items.Refresh();
                            }

从查询中输出可以,例如此图像

“查询输出” listView绑定的输出就像在此图像中

“

为什么我只能看到查询的计数?并且不是通过查询返回的正确值。

I want to populate listview with information retrieved from database using WCF in C# and am not able to retrieve correct data for listview binding.

  public interface IServicePl
    {

        [OperationContract]
 [OperationContract]
        IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments();
        
        
    }
    [DataContract]
    public class InterventiiCuEchipament
    {
        [DataMember]
        public string EchipamentInterventie { get; set; }
        public int id_interventie { get; set; }
        public string tip_interventie { get; set; }
        public string responsabil { get; set; }
        public DateTime data_finalizare { get; set; }
        public bool status { get; set; }
    }
       public IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments()
        {
               try
                {
                IEnumerable<InterventiiCuEchipament> query =  from sel1 in dataP.interventiis
                            join sel2 in dataP.sesizaris
                            on sel1.id_interventie equals sel2.id_sesizare
                            select new InterventiiCuEchipament()
                            {
                                id_interventie = sel1.id_interventie,
                                EchipamentInterventie = sel2.echipament,
                                tip_interventie = sel2.tip_sesizare,
                                responsabil = sel1.responsabil,
                                data_finalizare = (DateTime)sel1.data_finalizare,
                                status = (bool)sel1.status

                            };
                    return query;
                }

On the client side I have the following code :

 if (client.InnerChannel.State != CommunicationState.Faulted)
                    {
                        List<InterventiiCuEchipament> ListaInterventii = new List<InterventiiCuEchipament>();
                         ListaInterventii = client.GetInterventiiCuEchipamentsAsync().Result.ToList();
                            InterventiiList.ItemsSource = ListaInterventii;
                        InterventiiList.Items.Refresh();
                            }

Output from query is ok, like in this image

query output
Output for listview binding is like in this image

Listview output

Why I can see just the count of query? and not correct values returned by query.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

追风人 2025-02-19 23:49:44

如果查询返回值,则ListAinterVentii也应具有值。
我写了一个类似的演示,您可以比较它。

您可以使用foreach查看是否有值。

 ListaInterventii = client.GetInterventiiCuEchipamentsAsync().Result.ToList();
            foreach(var a in ListaInterventii)
            {
                int A = a.id_interventie;
            }

demo

public class ProductService : IServicePl
    {   
        public IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments()
        {
            // This comes from database.
            var _dbCountries = new List<InterventiiCuEchipament>
        {
            new InterventiiCuEchipament {id_interventie = 1, tip_interventie="1"},
            new InterventiiCuEchipament {id_interventie = 2, tip_interventie="2"},
            new InterventiiCuEchipament {id_interventie = 3, tip_interventie="3"},
        };            
            return _dbCountries;
        }
    }

[ServiceContract]
     public interface IServicePl
     { 
         [OperationContract]
         IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments();            
     }
     [DataContract]
     public class InterventiiCuEchipament
     {
        [DataMember]
        [Key]
        public int id_interventie { get; set; }         
        public string tip_interventie { get; set; }
     }

客户端

ServicePlClient client = new ServicePlClient();
List<InterventiiCuEchipament> ListaInterventii = new List<InterventiiCuEchipament>(); 
ListaInterventii = client.GetInterventiiCuEchipamentsAsync().Result.ToList();

”在此处输入图像描述”

If the query returns values, then ListaInterventii should also have values.
I wrote a similar demo, you can compare it.

You can use foreach to see if there is a value.

 ListaInterventii = client.GetInterventiiCuEchipamentsAsync().Result.ToList();
            foreach(var a in ListaInterventii)
            {
                int A = a.id_interventie;
            }

Demo

public class ProductService : IServicePl
    {   
        public IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments()
        {
            // This comes from database.
            var _dbCountries = new List<InterventiiCuEchipament>
        {
            new InterventiiCuEchipament {id_interventie = 1, tip_interventie="1"},
            new InterventiiCuEchipament {id_interventie = 2, tip_interventie="2"},
            new InterventiiCuEchipament {id_interventie = 3, tip_interventie="3"},
        };            
            return _dbCountries;
        }
    }

[ServiceContract]
     public interface IServicePl
     { 
         [OperationContract]
         IEnumerable<InterventiiCuEchipament> GetInterventiiCuEchipaments();            
     }
     [DataContract]
     public class InterventiiCuEchipament
     {
        [DataMember]
        [Key]
        public int id_interventie { get; set; }         
        public string tip_interventie { get; set; }
     }

client side

ServicePlClient client = new ServicePlClient();
List<InterventiiCuEchipament> ListaInterventii = new List<InterventiiCuEchipament>(); 
ListaInterventii = client.GetInterventiiCuEchipamentsAsync().Result.ToList();

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文