Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - prolistview'e jsondan gerekli kısımların çekilmesi
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

prolistview'e jsondan gerekli kısımların çekilmesi

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
kursat Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 25 Haziran 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 37
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kursat Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: prolistview'e jsondan gerekli kısımların çekilmesi
    Gönderim Zamanı: 14 Kasım 2024 Saat 11:56
  void addDataToComponent;
  var
    JSONObject: TCLJSONQuery;
    clRest  : TCLRest;
  {
    clRest=TCLRest.Create;
    JSONObject = TCLJSONQuery.Create(nil); 
    
    try
      clRest.BaseURL = 'http://xxx:5050/ClApi/api/SABITCARI';
      clRest.Accept = 'application/json';
      clRest.Method = rmGET;
      clRest.Execute;
      
      JSONObject = Clomosy.ClDataSetFromJSON(clRest.Response);
      
      if(JSONObject.Found){
        while (not JSONObject.Eof)
          {
            PPListView1.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[' +
            '{"carI_KODU": "' + JSONObject.FieldByName('carI_KODU').AsString + '",' +
            '"carI_ADI": "' + JSONObject.FieldByName('carI_ADI').AsString + '",' +
            '"carI_IL": "' + JSONObject.FieldByName('carI_IL').AsString + '"}' +
            ']'));
            
            JSONObject.Next;
          }
          //PPListView1.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON(JSONObject));
      }
      else
        ShowMessage('cari bulunamadi');
    except
      ShowMessage('Exception class: '+LastExceptionClassName+' Exception Message2: ' +LastExceptionMessage);
    }
  }

bu fonksiyon ile verileri prolistview içerisindeki carI_KODU,carI_ADI,carI_IL labellerine çekmek istiyorum ancak json yapısındaki son değeri çekiyor.

eğer aşağıdaki gibi çekmek istersem sadece ilk veriyi çekiyor.
PPListView1.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[' +
            '{"carI_KODU": "' + JSONObject.FieldByName('carI_KODU').AsString + '",' +
            '"carI_ADI": "' + JSONObject.FieldByName('carI_ADI').AsString + '",' +
            '"carI_IL": "' + JSONObject.FieldByName('carI_IL').AsString + '"}' +
            ']'));
            
            JSONObject.Next;
          }

apide bulunan json aşağıdaki gibidir.
{
    "carI_KODU": "45",
    "carI_ADI": "Mert Otomotiv Yedek Parça Sanayi ve Ticaret Ltd. Şti.",
    "carI_TIPI": "B",
    "carI_ADRES": "Yıldırım Mh. Demir Sk. No:12",
    "carI_ILCE": "Osmangazi",
    "carI_IL": "Bursa",
    "vergI_DAIRESI": "Bursa Vergi Dairesi",
    "vergI_NO": "1234567890",
    "tC_NO": "",
    "carI_POSTAKODU": "16200",
    "carI_TELEFON": "(224) 335-45-67",
    "carI_YETKILI": "Ahmet Çalışkan",
    "carI_EPOSTA": "[email protected]",
    "carI_WEBSITE": "www.mertotomotiv.com",
    "aciklamA1": "Yeni müşteri",
    "aciklamA2": "Özel indirim uygulanacak",
    "aciklamA3": "",
    "borC_TOPLAM": 153000.0,
    "alacaK_TOPLAM": 120000.0,
    "giB_EFATURA_MUKELLEFI": true
}

tempJSON oluşturup döngü ile gerekli kısımları tek tek ona alıp gerekli verileri çekebileceğim bir fonksiyon örneği mevcut mu?

Yukarı Dön
BilalCndn Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi
Simge

Kayıt Tarihi: 09 Ekim 2023
Durum: Aktif Değil
Puanlar: 150
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı BilalCndn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 21 Kasım 2024 Saat 09:19
Merhaba Kürşat,

ListView1.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON(clRest.Response));
Sadece bu satır ile bağlarsan sorunun çözülecektir. Tek tek FieldByName ile ayırmana gerek yok.


Statik JSON Kullanılmış Örnek Kod:
Var   
  Form1:TclForm;
  ListView1 : TClProListView;
  DesignerPanel1 : TClListViewDesignerPanel;
  carI_KODU, carI_ADI, carI_IL : TclProLabel;
  
void TaskClick;
{
  ShowMessage(' Item: ' + ListView1.clSelectedItemData(clText));
}

void CreateListView
{
  ListView1 = Form1.AddNewProListView(Form1,'ListView1');
  ListView1.Align = AlClient;
  ListView1.Margins.Bottom = 20;
  ListView1.Margins.Top = 20;
  ListView1.Margins.Right = 20;
  ListView1.Margins.Left = 20;
  ListView1.clProSettings.ViewType = lvIcon; //(lvList, lvIcon, lvWaterFall)
  ListView1.clProSettings.ColCount = 1;
  ListView1.clProSettings.ItemHeight = 100;
  ListView1.clProSettings.ItemSpace = 10;
  ListView1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFCFF');
  ListView1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#66FF7F');
  ListView1.clProSettings.BorderWidth = 2;
  ListView1.clProSettings.RoundHeight = 5;
  ListView1.clProSettings.RoundWidth = 5;
  ListView1.SetclProSettings(ListView1.clProSettings);
}

void CreateDesignerPanel
{
  DesignerPanel1 = Form1.AddNewProListViewDesignerPanel(ListView1, 'DesignerPanel1');
  DesignerPanel1.Height = 100;
  DesignerPanel1.Width = 150;
  DesignerPanel1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#B3FCE5');
  DesignerPanel1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#16FF8C');
  DesignerPanel1.clProSettings.BorderWidth = 2;
  DesignerPanel1.clProSettings.RoundHeight = 20;
  DesignerPanel1.clProSettings.RoundWidth = 20;
  DesignerPanel1.SetclProSettings(DesignerPanel1.clProSettings);
  
  ListView1.SetDesignerPanel(DesignerPanel1);
}

void CreateData;
{
  carI_KODU = Form1.AddNewProLabel(DesignerPanel1, 'carI_KODU', 'test');
  carI_KODU.Align = AlVertCenter;
  carI_KODU.Height =30;
  carI_KODU.Margins.Bottom = 10;
  carI_KODU.Margins.Top = 10;
  carI_KODU.Margins.Left = 10;
  carI_KODU.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  carI_KODU.clProSettings.FontSize = 20;
  DesignerPanel1.AddPanelObject(carI_KODU, clText);
  
  
  carI_ADI = Form1.AddNewProLabel(DesignerPanel1, 'carI_ADI', 'test');
  carI_ADI.Align = AlVertCenter;
  carI_ADI.Height =30;
  carI_ADI.Margins.Bottom = 10;
  carI_ADI.Margins.Top = 10;
  carI_ADI.Margins.Left = 100;
  carI_ADI.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  carI_ADI.clProSettings.FontSize = 20;
  DesignerPanel1.AddPanelObject(carI_ADI, clText1);
  
  
  carI_IL = Form1.AddNewProLabel(DesignerPanel1, 'carI_IL', 'test');
  carI_IL.Align = AlVertCenter;
  carI_IL.Height =30;
  carI_IL.Margins.Bottom = 10;
  carI_IL.Margins.Top = 10;
  carI_IL.Margins.Left = 400;
  carI_IL.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  carI_IL.clProSettings.FontSize = 20;
  DesignerPanel1.AddPanelObject(carI_IL, clText2);
      
    
  Form1.AddNewEvent(ListView1,tbeOnItemClick,'TaskClick');
}

void AddDataToListView;
{
  ListView1.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[
  {
    "carI_KODU": "1",
    "carI_ADI": "Deneme Sanayi ve Ticaret Ltd. Şti.",
    "carI_TIPI": "B",
    "carI_ADRES": "Yıldırım Mh. Demir Sk. No:12",
    "carI_ILCE": "Osmangazi",
    "carI_IL": "Ankara",
    "vergI_DAIRESI": "Bursa Vergi Dairesi",
    "vergI_NO": "1234567890",
    "tC_NO": "",
    "carI_POSTAKODU": "16200",
    "carI_TELEFON": "(224) 335-45-67",
    "carI_YETKILI": "Ahmet Çalışkan",
    "carI_EPOSTA": "[email protected]",
    "carI_WEBSITE": "www.mertotomotiv.com",
    "aciklamA1": "Yeni müşteri",
    "aciklamA2": "Özel indirim uygulanacak",
    "aciklamA3": "",
    "borC_TOPLAM": 153000.0,
    "alacaK_TOPLAM": 120000.0,
    "giB_EFATURA_MUKELLEFI": true
},
{
    "carI_KODU": "45",
    "carI_ADI": "Mert Otomotiv Yedek Parça Sanayi ve Ticaret Ltd. Şti.",
    "carI_TIPI": "B",
    "carI_ADRES": "Yıldırım Mh. Demir Sk. No:12",
    "carI_ILCE": "Osmangazi",
    "carI_IL": "Bursa",
    "vergI_DAIRESI": "Bursa Vergi Dairesi",
    "vergI_NO": "1234567890",
    "tC_NO": "",
    "carI_POSTAKODU": "16200",
    "carI_TELEFON": "(224) 335-45-67",
    "carI_YETKILI": "Ahmet Çalışkan",
    "carI_EPOSTA": "[email protected]",
    "carI_WEBSITE": "www.mertotomotiv.com",
    "aciklamA1": "Yeni müşteri",
    "aciklamA2": "Özel indirim uygulanacak",
    "aciklamA3": "",
    "borC_TOPLAM": 153000.0,
    "alacaK_TOPLAM": 120000.0,
    "giB_EFATURA_MUKELLEFI": true
}
  ]'));
}

{
  Form1 = TclForm.Create(Self);
  CreateListView;
  CreateDesignerPanel;
  CreateData;
  AddDataToListview;
  Form1.Run;
}


İyi çalışmalar dilerim.
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,078 Saniyede Yüklendi.