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">
|