Soru & Cevap

wcf ile droplist doldurmak

16.10.2013 - 12:25

merhaba,

wcf servis kullanarak database işlemlerimi yapıyorum. Sırada yapmaya çalıştığım "kategoriler" tablomdaki değerleri geri döndürerek wp8 de hangisi bilmiyorum web'de ki adı dropdownlist onu doldurmak istiyorum. 

1- wcf ile geriye ne tipinde donus yaptırmam lazım ( select * from kategoriler) şeklinde

2-dropdownlisti nasıl itemsource'sini nasıl doldurcağım

başlangıç seviyesindeyim soru sorma tipim biraz acemi oldu farkındayım:)

18 Görüntülenme

7 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-472-1375079047.jpg
mehmet.altiparmak
24.10.2013 - 02:03

Merhaba Cem,

List<Category> tipinde bilgiyi nasıl döndüreceğini daha önce paylaştığım linkleri inceleyerek öğrenebilirsin.

Senin de söylediğin gibi basitçe repeater gibi düşünebilirsin ListPicker kontrolünü. Verdiğin bir şablonu sağlayacağın veri listesinin her bir elemanı için oluşturacaktır. Seçili olan Category objesine de ListPicker.SelectedItem özelliğinden erişebilirsin. SelectedItem object tipinde bir özellik, oluşturacağın Category tipine cast etmen gerekecektir.

picture-6780-1381914781.jpg
cemnet
21.10.2013 - 02:24

Merhaba,

geriye List<Category> tipinde geri dönüş yaptırmak için varsa bir örnek alabilir miyim 

2. olarak listpickerde template oluşturarak anladığım kadarıyla repeater gibi istediğimiz property'i gösterebiliyoruz. Butona bastığımda seçili olanın id değerini nasıl alabilirim acaba?

            Literal ltrKategoriID= (Literal) e.Item.FindControl("ltrKategoriID");

webde bu şekilde yapabiliyorduk

teşekkürler

picture-472-1375079047.jpg
mehmet.altiparmak
21.10.2013 - 08:22

ListPicker'ın ItemsSource property'sine herhangi bir IEnumerable (List<T>, ObservableCollection<T>) tipindeki veriyi atayabilirsin Cem. Tavsitem List<string> gibi basic bir tip döndürmek yerine List<Category> gibi Windows Phone uygulamandan kullanmak istediğin tüm bilgileri içeren bir sınıf türünden liste döndürmen. 

İhtiyacın olan tüm bilgileri Windows Phone uygulamana Category sınıfı içerisinde aktardığını varsayarsak,

LstCategories.ItemsSource = categoryList ; //Servisten dönen List<Category> tipindeki liste. 

şeklinde ListPicker'a bind edebilirsin. XAML kısmında ise Category sınıfının göstermek istediğin özelliklerini UI elementlerine bind etmelisin örneğin sadece CategoryName göstermek isteyelim,

 <controls:ListPicker x:Name="LstCategories">
                <controls:ListPicker.FullModeItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding CategoryName}" Margin="0 24 24 24" TextWrapping="Wrap" Style="{StaticResource PhoneTextTitle2Style}" />
                    </DataTemplate>
                </controls:ListPicker.FullModeItemTemplate>
            </controls:ListPicker>

 

 

 

 

picture-6780-1381914781.jpg
cemnet
20.10.2013 - 01:16

Merhaba,

Sorunu buldum

WCF ile geriye List<string> tipinde geri dönüş yapınca referans olarak ekleyebiliyoruz ama servis çalışmıyormuş desteklemediğini fark ettim. (http://i.stack.imgur.com/bkwoc.png bu şekilde düzelir belki denemedim)

2.si ise geriye string[] tipinde dönderdim. Bu arada iki yöntemde WP code behind tarafında çalışıyor malum wcf'ye bağlamaya çalışıyordum. Neyse oda çalışmadı çok şaşırdım:) Arkadaşın pc'den denedim oldu sonra. Fark ettimki  benim .net projesi bozukmuş. Yeni bir phone uygualaması açtım orda çalıştı. 

 

Bu arada sadece tek property mi alıyor listpicker. Yani ben hem kategoriadini hemde gizli olarak kategori id bilgisini tutmak istiyorum.

 

cevap için teşekkürler

picture-472-1375079047.jpg
mehmet.altiparmak
20.10.2013 - 09:42

Merhaba Cem,

ServiceContract, OperationContract ve DataContract konularını inceleyebilirsin aşağıdaki linklerden, WCF uygulaman ile WP uygulaman arasında bağlantı kurabiliyorsun değil mi o konuda sorun yok? Eğer kurabildiysen yapman gereken WindowsPhone uygulamasından çağırdığın servis methodunun OperationContract'ını WCF uygulamanda bulmak ve geri dönüş tipini değiştirmek. Daha sonra da Windows Phone uygulamanda service reference'i güncellemelisin.  

http://simsekonur.blogspot.com/2009/03/adm-adm-wcf-1.html
http://simsekonur.blogspot.com/2009/03/adm-adm-wcf-2-contract.htmlhttp://simsekonur.blogspot.com/2009/03/adm-adm-wcf-3hosting.htmlhttp://simsekonur.blogspot.com/2009/04/adm-adm-wcf-4-ornek.html

 

picture-6780-1381914781.jpg
cemnet
18.10.2013 - 10:16

Merhaba öncelikle cevap için teşekkürler

2. ve 3. satırdaki yazdıklarınız için sorun yok o kısımları atlattım:)

geriye List<Category> dönderme şeklini tam bilmiyorum. 

listpicker'ın itemssource'sine nasıl vereceğim ?  

picture-472-1375079047.jpg
mehmet.altiparmak
17.10.2013 - 08:04

Merhaba Cem,

WCF ile geriye istediğin tipte dönüş yapabilirsin DropDownList içerisinde göstermek istediğin veriye bağlı olarak. Kategori sınıfı için uyduruyorum List<Category> tipinde dönüş yapabilirsin. Category sınıfı içerisinde de CategoryName ve CategoryId olabilir. Ya da ne tutman gerekiyorsa. 

Dropdownlist'in windows phone eşdeğeri olarak da Windows Phone Toolkit içerisindeki ListPicker kontrolünü incelemeni öneririm. ListPicker kullanımına bir örnek burada mevcut.

Eğer WCF servisin localinde çalışıyorsa windows phone 8 emulatorlerinden erişimde sorun yaşayabilirsin. Nasıl bağlantı kurulacağı burada anlatılmış.