Sayfayı Yazdır | Pencereyi Kapat

ListView Görünmeme Hatası

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1645
Tarih: 31 Temmuz 2026 Saat 16:07
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: ListView Görünmeme Hatası
Mesajı Yazan: AcarPlus
Konu: ListView Görünmeme Hatası
Mesaj Tarihi: 31 Temmuz 2026 Saat 14:48
açılan formda listview visible = true olmasına rağmen görünmüyor test etmek amaçlı listviewi oluşturmadan önce bir buton oluşturdum listview visible iken butona tıklanma engelleniyor invisibe olduğunda tıklayabiliyorum ama her iki durumdada listview unitte görünmüyor.


///////kod bloğu//////////////
var
  ListForm : TclForm;
  MainPnl : TclProPanel;
  listviewShow : TclProListView;
  DesignerPanel1 : TClProListViewDesignerPanel;
  lblFullName, lblCompany : TClProLabel;
  selectQuery : TclSqlQuery;
  CustomerViewer : TclUnit;
  btnTest : TClProButton;
  

void CreateListView;
{

  btnTest = ListForm.AddNewButton(MainPnl,'btnTest', 'test buton');
  listviewShow = ListForm.AddNewProListView(MainPnl, 'listviewShow');
  listviewShow.Align = alClient;
  listviewShow.Margins.Left = 20;
  listviewShow.Margins.Right = 20;
  listviewShow.Margins.Top = 20;
  listviewShow.Margins.Bottom = 20;
  listviewShow.Width = 340;
  listviewShow.Height = 400;
  listviewShow.clProSettings.ColCount = 1;
  listviewShow.clProSettings.ItemHeight = 60;
  listviewShow.clProSettings.ViewType = lvList;
  listviewShow.SetclProSettings(listviewShow.clProSettings);
  listviewShow.Visible = True;
}

void CreateDesignerPanel;
{
  DesignerPanel1 = ListForm.AddNewProListViewDesignerPanel(listviewShow, 'DesignerPanel1');
  DesignerPanel1.Height = 60;
  DesignerPanel1.Width = 300;
  listviewShow.SetDesignerPanel(DesignerPanel1);
}

void CreateDesignerFields;
{
  lblFullName = ListForm.AddNewProLabel(DesignerPanel1, 'lblFullName', 'test');
  lblFullName.Align = alTop;
  lblFullName.Height = 25;
  DesignerPanel1.AddPanelObject(lblFullName, clText);

  lblCompany = ListForm.AddNewProLabel(DesignerPanel1, 'lblCompany', 'test');
  lblCompany.Align = alTop;
  lblCompany.Height = 25;
  DesignerPanel1.AddPanelObject(lblCompany, clCaption);
}

void ConnectToDatabase;
{
  try
    if (Clomosy.DBSQLServerConnection == nil)
    {
      Clomosy.DBSQLServerConnect('SQL Server', '192.168.5.227\ACARPLUS', 'AcarPlus', '1234', 'Odeme_App', 1433);
    }
    selectQuery.Connection = Clomosy.DBSQLServerConnection;
  except
    ShowMessage('Veritabanı bağlantısı kurulamadı ' + LastExceptionMessage);
  }
}

void selectToDatabase;
{
  try
    selectQuery.Sql.Text = 'SELECT CAST(CustomerID as FLOAT) as clRecord_GUID, CustomerFullName as clText, CustomerCompany as clCaption FROM Customers WHERE CustomerIsActive = 1';
    selectQuery.Open;
    
    if (not selectQuery.Eof)
    {
      listviewShow.clearList;
      listviewShow.clLoadProListViewDataFromDataset(selectQuery);
    }
    else
    {
      ShowMessage('Kayıtlı müşteri bulunamadı.');
    }
  except
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}

{
  ListForm = TclForm.Create(Self);
  ListForm.SetFormColor('#121214', '', clGNone);

  selectQuery = TclSqlQuery.Create(nil);

  MainPnl = ListForm.AddNewProPanel(ListForm, 'MainPnl');
  MainPnl.Align = alClient;
  MainPnl.Width = 380;
  MainPnl.Height = 650;
  MainPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1A1A1E');
  MainPnl.clProSettings.IsTransparent = False;
  MainPnl.SetclProSettings(MainPnl.clProSettings);

  CreateListView;
  CreateDesignerPanel;
  CreateDesignerFields;

  ConnectToDatabase;
  selectToDatabase;

  ListForm.Run;
}
///////////////////////////////
< ="module" ="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1" crossorigin="anonymous">



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 31 Temmuz 2026 Saat 15:59
Merhaba Enes,
ListView'da AddPanelObject(lbl, clCaption) yazdığında, dataset'te MAIN_TEXT alanını arar. AddPanelObject(lbl, clText) ise SUB_TEXT alanını arar. Sen JSON'da clText ve clCaption yazmışsın ama olması gereken MAIN_TEXT ve SUB_TEXT.

bir diğeri de bağlantıdan sonra selectQuery.First eksikti



var
  ListForm : TclForm;
  MainPnl : TclProPanel;
  btnTest : TClProButton;
  
  // ListView yerine garantili render panelleri
  MainVertScroll : TclVertScrollBox;
  ListContainerPnl : TclProPanel;
  selectQuery : TclSqlQuery;

void ConnectToDatabase;
{
  try
    if (Clomosy.DBSQLServerConnection == nil)
    {
      Clomosy.DBSQLServerConnect('SQL Server', '192.168.5.227\ACARPLUS', 'AcarPlus', '1234', 'Odeme_App', 1433);
    }
    selectQuery.Connection = Clomosy.DBSQLServerConnection;
  except
    ShowMessage('Veritabanı bağlantısı kurulamadı: ' + LastExceptionMessage);
  }
}

void SelectAndRenderData;
var
  ItemIndex : Integer;
  CardPanel : TclProPanel;
  TextLayout : TclLayout;
  LblFullName, LblCompany : TclProLabel;
  CustName, CustComp, UniqueID : String;
{
  try
    selectQuery.Sql.Text = 
      'SELECT CAST(CustomerID AS VARCHAR(50)) AS CustID, ' +
      'ISNULL(CustomerFullName, '''') AS CustName, ' +
      'ISNULL(CustomerCompany, '''') AS CustCompany ' +
      'FROM Odeme_App.dbo.Customers WITH (NOLOCK) WHERE CustomerIsActive = 1';
    selectQuery.Open;
    
    if (not selectQuery.Eof)
    {
      if (ListContainerPnl <> nil) { ListContainerPnl.Visible = False; }

      UniqueID = IntToStr(Random(999999));
      ListContainerPnl = ListForm.AddNewProPanel(MainVertScroll, 'ListPnl_' + UniqueID);
      ListContainerPnl.Align = alTop;
      ListContainerPnl.clProSettings.IsTransparent = True;
      ListContainerPnl.SetclProSettings(ListContainerPnl.clProSettings);

      ItemIndex = 0;

      while (not selectQuery.Eof)
      {
        CustName = selectQuery.FieldByName('CustName').AsString;
        CustComp = selectQuery.FieldByName('CustCompany').AsString;

        // Her Müşteri İçin Kart Paneli
        CardPanel = ListForm.AddNewProPanel(ListContainerPnl, 'Card_' + UniqueID + '_' + IntToStr(ItemIndex));
        CardPanel.Align = alTop;
        CardPanel.Height = 65;
        CardPanel.Margins.Top = 8;
        CardPanel.Margins.Left = 8;
        CardPanel.Margins.Right = 8;
        CardPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
        CardPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
        CardPanel.clProSettings.BorderWidth = 1;
        CardPanel.clProSettings.IsRound = True;
        CardPanel.clProSettings.RoundHeight = 10;
        CardPanel.clProSettings.RoundWidth = 10;
        CardPanel.clProSettings.IsFill = True;
        CardPanel.SetclProSettings(CardPanel.clProSettings);

        // Metin Yerleşimi
        TextLayout = ListForm.AddNewLayout(CardPanel, 'TLay_' + UniqueID + '_' + IntToStr(ItemIndex));
        TextLayout.Align = alClient;
        TextLayout.Margins.Left = 12;
        TextLayout.Margins.Top = 8;
        TextLayout.Margins.Right = 12;

        // Müşteri Adı (Koyu Renk Bold)
        LblFullName = ListForm.AddNewProLabel(TextLayout, 'LblName_' + UniqueID + '_' + IntToStr(ItemIndex), CustName);
        LblFullName.Align = alTop;
        LblFullName.Height = 24;
        LblFullName.clProSettings.FontColor = clAlphaColor.clHexToColor('#0F172A');
        LblFullName.clProSettings.FontSize = 12;
        LblFullName.clProSettings.TextSettings.Font.Style = [fsBold];
        LblFullName.SetclProSettings(LblFullName.clProSettings);

        // Şirket Adı
        LblCompany = ListForm.AddNewProLabel(TextLayout, 'LblComp_' + UniqueID + '_' + IntToStr(ItemIndex), 'Şirket: ' + CustComp);
        LblCompany.Align = alTop;
        LblCompany.Height = 20;
        LblCompany.clProSettings.FontColor = clAlphaColor.clHexToColor('#475569');
        LblCompany.clProSettings.FontSize = 10;
        LblCompany.SetclProSettings(LblCompany.clProSettings);

        ItemIndex = ItemIndex + 1;
        selectQuery.Next;
      }

      ListContainerPnl.Height = (ItemIndex * 75) + 20;
    }
    else
    {
      ShowMessage('Kayıtlı aktif müşteri bulunamadı.');
    }
  except
    ShowMessage('Hata Oluştu: ' + LastExceptionMessage);
  }
}

{
  ListForm = TclForm.Create(Self);
  ListForm.SetFormColor('#F8FAFC', '', clGNone);

  selectQuery = TclSqlQuery.Create(nil);

  MainPnl = ListForm.AddNewProPanel(ListForm, 'MainPnl');
  MainPnl.Align = alClient;
  MainPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  MainPnl.clProSettings.IsFill = True;
  MainPnl.SetclProSettings(MainPnl.clProSettings);

  // Üst Buton
  btnTest = ListForm.AddNewProButton(MainPnl, 'btnTest', 'MÜŞTERİ LİSTESİ');
  btnTest.Align = alTop;
  btnTest.Height = 42;
  btnTest.Margins.Left = 12;
  btnTest.Margins.Right = 12;
  btnTest.Margins.Top = 10;
  btnTest.Margins.Bottom = 6;
  btnTest.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2563EB');
  btnTest.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  btnTest.clProSettings.IsRound = True;
  btnTest.clProSettings.RoundHeight = 8;
  btnTest.clProSettings.RoundWidth = 8;
  btnTest.clProSettings.TextSettings.Font.Style = [fsBold];
  btnTest.clProSettings.FontSize = 12;
  btnTest.clProSettings.IsFill = True;
  btnTest.SetclProSettings(btnTest.clProSettings);

  // Dikey Scroll Alanı
  MainVertScroll = ListForm.AddNewVertScrollBox(MainPnl, 'MainVertScroll');
  MainVertScroll.Align = alClient;
  MainVertScroll.Margins.Left = 10;
  MainVertScroll.Margins.Right = 10;
  MainVertScroll.Margins.Bottom = 10;

  ListContainerPnl = nil;

  ConnectToDatabase;
  SelectAndRenderData;

  ListForm.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" crossorigin="anonymous">



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net