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=" rel="nofollow - 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; }
|