![]() |
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. |
Grid ekranı ve Filtreleme sorunu |
Yanıt Yaz ![]() |
Yazar | |
Muammer ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 24 Haziran 2025 Konum: Konya/meram Durum: Aktif Değil Puanlar: 22 |
![]() ![]() ![]() ![]() ![]() Gönderim Zamanı: 15 Saat 27 Dakika Önce Saat 10:05 |
Bu kod Dashboard ekranının kodu.Grid ekranı üzerinde bulunan sqlden çekilen tabloda alt alta aynı satır var ve bu yüzden de sqldeki tablonun ilk satırı görünmüyor.
Filtreleme butonuna basarken de veriler filtrelenmiyor var MyForm: TclForm; MyGrid: TclStringGrid; Lbl_Baslik: TClProLabel; LblUyari: TClProLabel; DtEdt1: TClProDateEdit; Edt_StokKodu: TclProEdit; Lbl_Tarih: TClProLabel; Lbl_StokKodu: TClProLabel; Btn_Filtrele, Btn_TedarikciSiparisTakibi, Btn_QR, Btn_YeniUrunEkle, Btn_SatisFire: TClProButton; selectQuery: TClSqlQuery; Str_StokKodu: String; Str_DateEdit: String; Edt_QRText: TclProEdit; QRImage: TclProImage; qrUrl, fullQRText: String; Unit2: TclUnit; Unit3: TclUnit; Unit4, Unit5, Unit6: TclUnit; mainPnl: TclProPanel; leftPanel: TclProPanel; rightPanel: TclProPanel; Edt_FilterText: TclProEdit; // Filtreleme için yeni metin kutusu Dt_FilterDate: TClProDateEdit; // Filtreleme için tarih seçme alanı filterText, filterDate: String; void GoToUnit2; { MyForm.clShow; Unit2.UnitName = 'qrolustur'; Unit2.CallerForm = MyForm; Unit2.Run; } void GoToUnit3; { MyForm.clShow; Unit3.UnitName = 'UrunEkle'; Unit3.CallerForm = MyForm; Unit3.Run; } void GoToUnit4; { MyForm.clShow; Unit4.UnitName = 'SatisFire'; Unit4.CallerForm = MyForm; Unit4.Run; } // Tedarikçi Sipariş Takibi sayfasına yönlendirecek fonksiyon void GoToUnit5; { MyForm.clShow; Unit5.UnitName = 'TedarikciSiparisTakibi'; Unit5.CallerForm = MyForm; Unit5.Run; } void SetupGridColumns; { MyGrid.Cells[0, 0] = 'Urun Kodu'; MyGrid.Cells[1, 0] = 'Urun Adı'; MyGrid.Cells[2, 0] = 'Stok Miktarı'; MyGrid.Cells[3, 0] = 'Kritik Seviye'; MyGrid.Cells[4, 0] = 'Depo Yeri ID'; MyGrid.Cells[5, 0] = 'Birim Fiyat'; MyGrid.Cells[6, 0] = 'Oluşturma Tarihi'; MyGrid.Columns[0].Width = 100; MyGrid.Columns[1].Width = 150; MyGrid.Columns[2].Width = 100; MyGrid.Columns[3].Width = 100; MyGrid.Columns[4].Width = 100; MyGrid.Columns[5].Width = 100; MyGrid.Columns[6].Width = 120; } void AddDataToGrid; { try selectQuery.SQL.Text = 'SELECT UrunKodu, UrunAdi, StokMiktari, KritikSeviye, DepoYeriID, BirimFiyat, OlusturmaTarihi FROM TBLSTOKSB'; selectQuery.Open; if (selectQuery.Found) { MyForm.RemoveGridBinding('myLink'); MyForm.AddNewGridBinding(MyGrid, selectQuery, 'myLink'); SetupGridColumns; } else { ShowMessage('Kayıt bulunamadı!'); } except ShowMessage('Hata oluştu: ' + LastExceptionMessage); } } void OnFilterClick; { filterText = Edt_FilterText.Text; filterDate = DtEdt1.Text; try selectQuery.SQL.Text = 'SELECT UrunKodu, UrunAdi, StokMiktari, KritikSeviye, DepoYeriID, BirimFiyat, OlusturmaTarihi ' + 'FROM TBLSTOKSB WHERE 1=1 '; if (filterText <> '') { selectQuery.SQL.Text = selectQuery.SQL.Text + ' AND UrunKodu LIKE ''%' + filterText + '%'' '; } if (filterDate <> '') { selectQuery.SQL.Text = selectQuery.SQL.Text + ' AND CAST(OlusturmaTarihi AS DATE) = ''' + filterDate + ''' '; } selectQuery.Open; if selectQuery.Found { MyForm.RemoveGridBinding('myLink'); MyForm.AddNewGridBinding(MyGrid, selectQuery, 'myLink'); SetupGridColumns; } else { ShowMessage('Filtre sonucu bulunamadı!'); } except ShowMessage('Filtreleme hatası: ' + LastExceptionMessage); } } void GenerateQRClick; { fullQRText = 'StokKodu:' + Edt_StokKodu.Text + '+Tarih:' + DtEdt1.Text + '+Not:' + Edt_QRText.Text; qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=' + fullQRText; } { // Ana formu oluşturur ve arka plan rengini ayarlar MyForm = TclForm.Create(Self); MyForm.SetFormColor('#c4c4c4', '#c4c4c4', clGVertical); Unit2=TclUnit.Create; Unit3=TclUnit.Create; Unit4=TclUnit.Create; Unit5=TclUnit.Create; Unit6=TclUnit.Create; // Dashboard başlığını oluşturur ve stil ayarlarını yapar Lbl_Baslik = MyForm.AddNewProLabel(MyForm, 'Lbl_Baslik', 'STOK YÖNETİM DASHBOARD'); Lbl_Baslik.Align = alTop; Lbl_Baslik.Height = 60; Lbl_Baslik.Margins.Top = 30; Lbl_Baslik.clProSettings.FontSize = 26; Lbl_Baslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#fc0000'); Lbl_Baslik.clProSettings.FontVertAlign = palCenter; Lbl_Baslik.clProSettings.FontHorzAlign = palCenter; Lbl_Baslik.SetclProSettings(Lbl_Baslik.clProSettings); // Left Panel: Sol paneli oluşturuyoruz leftPanel = MyForm.AddNewProPanel(MyForm, 'leftPanel'); leftPanel.Align = alLeft; leftPanel.Width = 200; // Ekranın 4'te 1'ini kaplar leftPanel.Margins.Top = 20; leftPanel.Margins.Left = 20; leftPanel.Margins.Right = 20; // Right Panel: Sağ paneli oluşturuyoruz rightPanel = MyForm.AddNewProPanel(MyForm, 'rightPanel'); rightPanel.Align = alClient; // Sağ panel, kalan tüm alanı alacak rightPanel.Margins.Top = 20; rightPanel.Margins.Left = 20; rightPanel.Margins.Right = 20; // Sol paneldeki butonlar (alt alta) Btn_QR = MyForm.AddNewProButton(leftPanel, 'Btn_QR', 'QR OLUŞTUR'); Btn_QR.Align = alTop; Btn_QR.Margins.Top = 10; Btn_QR.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fc0000'); Btn_QR.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); Btn_QR.clProSettings.FontSize = 16; Btn_QR.SetclProSettings(Btn_QR.clProSettings); MyForm.AddNewEvent(Btn_QR, tbeOnClick, 'GenerateQRClick'); Btn_TedarikciSiparisTakibi = MyForm.AddNewProButton(leftPanel, 'Btn_TedarikciSiparisTakibi', 'Tedarikçi Sipariş Takibi'); Btn_TedarikciSiparisTakibi.Align = alTop; Btn_TedarikciSiparisTakibi.Margins.Top = 10; Btn_TedarikciSiparisTakibi.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); Btn_TedarikciSiparisTakibi.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); Btn_TedarikciSiparisTakibi.clProSettings.FontSize = 16; Btn_TedarikciSiparisTakibi.SetclProSettings(Btn_TedarikciSiparisTakibi.clProSettings); Btn_YeniUrunEkle = MyForm.AddNewProButton(leftPanel, 'Btn_YeniUrunEkle', 'Yeni Ürün Ekle'); Btn_YeniUrunEkle.Align = alTop; Btn_YeniUrunEkle.Margins.Top = 10; Btn_YeniUrunEkle.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); Btn_YeniUrunEkle.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); Btn_YeniUrunEkle.clProSettings.FontSize = 16; Btn_YeniUrunEkle.SetclProSettings(Btn_YeniUrunEkle.clProSettings); Btn_SatisFire = MyForm.AddNewProButton(leftPanel, 'Btn_SatisFire', 'Satış ve Fire İşlemleri'); Btn_SatisFire.Align = alTop; Btn_SatisFire.Margins.Top = 10; Btn_SatisFire.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); Btn_SatisFire.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); Btn_SatisFire.clProSettings.FontSize = 16; Btn_SatisFire.SetclProSettings(Btn_SatisFire.clProSettings); // Sağ paneldeki filtreleme butonu ve grid Edt_FilterText = MyForm.AddNewProEdit(rightPanel, 'Edt_FilterText', ''); Edt_FilterText.Align = alTop; Edt_FilterText.Height = 30; Edt_FilterText.Width = 150; Edt_FilterText.Margins.Top = 10; Edt_FilterText.SetclProSettings(Edt_FilterText.clProSettings); Lbl_Tarih = MyForm.AddNewProLabel(rightPanel, 'Lbl_Tarih', 'Tarih Seç'); Lbl_Tarih.Align = alTop; Lbl_Tarih.Height = 30; Lbl_Tarih.clProSettings.FontSize = 12; Lbl_Tarih.clProSettings.FontColor = clAlphaColor.clHexToColor('#080808'); Lbl_Tarih.SetclProSettings(Lbl_Tarih.clProSettings); DtEdt1 = MyForm.AddNewProDateEdit(rightPanel, 'DtEdt1'); DtEdt1.Align = alTop; DtEdt1.Height = 30; DtEdt1.Width = 150; DtEdt1.Margins.Top = 10; DtEdt1.SetclProSettings(DtEdt1.clProSettings); Btn_Filtrele = MyForm.AddNewProButton(rightPanel, 'Btn_Filtrele', 'Filtrele'); Btn_Filtrele.Align = alTop; Btn_Filtrele.Height = 50; Btn_Filtrele.Width = 150; Btn_Filtrele.Margins.Top = 10; Btn_Filtrele.clProSettings.RoundHeight = 10; Btn_Filtrele.clProSettings.RoundWidth = 10; Btn_Filtrele.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fc0000'); Btn_Filtrele.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); Btn_Filtrele.clProSettings.FontSize = 12; Btn_Filtrele.clProSettings.BorderWidth = 2; Btn_Filtrele.SetclProSettings(Btn_Filtrele.clProSettings); MyForm.AddNewEvent(Btn_Filtrele, tbeOnClick, 'OnFilterClick'); MyGrid = MyForm.AddNewStringGrid(rightPanel, 'MyGrid'); MyGrid.Align = alClient; MyGrid.ReadOnly = True; // SQL bağlantısı selectQuery = TClSqlQuery.Create(nil); Clomosy.DBSQLServerConnect('SQL Server', 'DESKTOP-E2HF8JM\SQLEXPRESS', 'sa', '1', 'StokYonetim', 1433); selectQuery.Connection = Clomosy.DBSQLServerConnection; // Verileri çek AddDataToGrid; MyForm.AddNewEvent(Btn_QR, tbeOnClick, 'GoToUnit2'); MyForm.AddNewEvent(Btn_YeniUrunEkle, tbeOnClick, 'GoToUnit3'); MyForm.AddNewEvent(Btn_SatisFire, tbeOnClick, 'GoToUnit4'); MyForm.AddNewEvent(Btn_TedarikciSiparisTakibi, tbeOnClick, 'GoToUnit5'); MyForm.clSetWindowState(fwsMaximized); MyForm.Run; } |
|
![]() |
|
yalperen ![]() Yeni Üye ![]() Kayıt Tarihi: 17 Haziran 2025 Konum: Konya Durum: Aktif Değil Puanlar: 12 |
![]() ![]() ![]() ![]() ![]() |
Merhaba,
Grid üzerinde iki adet aynı satır olmaması için SetupGridColumns void'ini MyGrid.Columns[0].Header = 'Urun Kodu'; MyGrid.Columns[1].Header = 'Urun Adı'; MyGrid.Columns[2].Header = 'Stok Miktarı'; MyGrid.Columns[3].Header = 'Kritik Seviye'; MyGrid.Columns[4].Header = 'Depo Yeri ID'; MyGrid.Columns[5].Header = 'Birim Fiyat'; MyGrid.Columns[6].Header = 'Oluşturma Tarihi'; bu şekilde düzeltirsen çalışacaktır. Sütundaki başlıkları değiştirmek için MyGrid.Columns.Header kullanılıyor. İyi Çalışmalar
|
|
![]() |
Yanıt Yaz ![]() |
|
Tweet |
Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |