Sayfayı Yazdır | Pencereyi Kapat

Grid ekranı

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=1087
Tarih: 16 Temmuz 2025 Saat 05:41
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Grid ekranı
Mesajı Yazan: Muammer
Konu: Grid ekranı
Mesaj Tarihi: 15 Temmuz 2025 Saat 13:41
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.

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;
}




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