![]() |
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ı sorunu |
Yanıt Yaz ![]() |
Yazar | |
Muammer ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 24 Haziran 2025 Konum: Konya/meram Durum: Aktif Değil Puanlar: 6 |
![]() ![]() ![]() ![]() ![]() Gönderim Zamanı: Dün Saat 15:10 |
Aşağıdaki kod sipariş sayfası.Bu sayfada grid ekranına verileri ekleyemiyorum.Bilgileri girerken sürekli hata alıyorum
var TedarikciForm: TclForm; Lbl_TedarikciAdi, Lbl_TedarikciTelefon, Lbl_SiparisMiktari, Lbl_SiparisTarihi, Lbl_TeslimatTarihi, Lbl_UrunAdi: TClProLabel; Edt_TedarikciAdi, Edt_TedarikciTelefon, Edt_SiparisMiktari, Edt_UrunAdi: TclProEdit; Dt_SiparisTarihi, Dt_TeslimatTarihi: TClProDateEdit; Btn_SiparisEkle: TClProButton; Lbl_Baslik:TClProLabel; mainPnl,leftPanel,rightPanel:TclProPanel; MyGrid: TclStringGrid; // Grid for displaying added order data SiparisMiktari: Integer; SiparisTarihi, TeslimatTarihi, TedarikciAdi, TedarikciTelefon, UrunAdi: String; // Setup Grid Columns (headers and widths) void SetupGridColumns; { MyGrid.Cells[0, 0] = 'Tedarikçi Adı'; MyGrid.Cells[1, 0] = 'Tedarikçi Telefon'; MyGrid.Cells[2, 0] = 'Ürün Adı'; MyGrid.Cells[3, 0] = 'Sipariş Miktarı'; MyGrid.Cells[4, 0] = 'Sipariş Tarihi'; MyGrid.Cells[5, 0] = 'Teslimat Tarihi'; MyGrid.Columns[0].Width = 150; MyGrid.Columns[1].Width = 120; MyGrid.Columns[2].Width = 150; MyGrid.Columns[3].Width = 120; MyGrid.Columns[4].Width = 120; MyGrid.Columns[5].Width = 120; } // Add data to grid void AddDataToGrid; { // Adding the new order to the grid MyGrid.RowCount = MyGrid.RowCount + 1; // Adding a new row MyGrid.Cells[0, MyGrid.RowCount - 1] = TedarikciAdi; MyGrid.Cells[1, MyGrid.RowCount - 1] = TedarikciTelefon; MyGrid.Cells[2, MyGrid.RowCount - 1] = UrunAdi; MyGrid.Cells[3, MyGrid.RowCount - 1] = IntToStr(SiparisMiktari); MyGrid.Cells[4, MyGrid.RowCount - 1] = SiparisTarihi; MyGrid.Cells[5, MyGrid.RowCount - 1] = TeslimatTarihi; } void SiparisEkleButtonClick; { // Get user inputs for the new order TedarikciAdi = Edt_TedarikciAdi.Text; TedarikciTelefon = Edt_TedarikciTelefon.Text; UrunAdi = Edt_UrunAdi.Text; SiparisMiktari = StrToInt(Edt_SiparisMiktari.Text); // Convert to integer SiparisTarihi = Dt_SiparisTarihi.Text; TeslimatTarihi = Dt_TeslimatTarihi.Text; ShowMessage('Sipariş başarıyla eklendi!'); // Success message // Add the new order data to the grid AddDataToGrid; } { TedarikciForm = TclForm.Create(Self); TedarikciForm.SetFormColor('#c4c4c4', '#c4c4c4', clGVertical); // Form Title Lbl_Baslik = TedarikciForm.AddNewProLabel(TedarikciForm, 'Lbl_Baslik', 'Tedarikçi Sipariş Ekleme'); 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); // Create main panel to split left and right panels mainPnl = TedarikciForm.AddNewProPanel(TedarikciForm, 'mainPnl'); mainPnl.Align = alClient; // Use full client area mainPnl.Margins.Left = 10; mainPnl.Margins.Right = 10; mainPnl.Margins.Top = 10; mainPnl.Margins.Bottom = 10; // Left Panel (For inputs) leftPanel = TedarikciForm.AddNewProPanel(mainPnl, 'leftPanel'); leftPanel.Align = alLeft; leftPanel.Width = mainPnl.Width div 2; // Half width for left panel leftPanel.Margins.Top = 20; leftPanel.Margins.Left = 20; leftPanel.Margins.Right = 20; // Right Panel (For Grid) rightPanel = TedarikciForm.AddNewProPanel(mainPnl, 'rightPanel'); rightPanel.Align = alClient; // Takes remaining space rightPanel.Margins.Top = 20; rightPanel.Margins.Left = 20; rightPanel.Margins.Right = 20; // Left Panel Widgets (For Tedarikçi and Order Info) Lbl_TedarikciAdi = TedarikciForm.AddNewProLabel(leftPanel, 'Lbl_TedarikciAdi', 'Tedarikçi Adı'); Lbl_TedarikciAdi.Align = alTop; Lbl_TedarikciAdi.Height = 30; Lbl_TedarikciAdi.clProSettings.FontSize = 12; Lbl_TedarikciAdi.clProSettings.FontColor = clAlphaColor.clHexToColor('#080808'); Lbl_TedarikciAdi.SetclProSettings(Lbl_TedarikciAdi.clProSettings); Edt_TedarikciAdi = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_TedarikciAdi', ''); Edt_TedarikciAdi.Align = alTop; Edt_TedarikciAdi.Height = 30; Edt_TedarikciAdi.Width = 220; Edt_TedarikciAdi.Margins.Top = 10; Edt_TedarikciAdi.SetclProSettings(Edt_TedarikciAdi.clProSettings); // Tedarikçi Telefon Label and Input Lbl_TedarikciTelefon = TedarikciForm.AddNewProLabel(leftPanel, 'Lbl_TedarikciTelefon', 'Tedarikçi Telefon'); Lbl_TedarikciTelefon.Align = alTop; Lbl_TedarikciTelefon.Height = 30; Lbl_TedarikciTelefon.clProSettings.FontSize = 12; Lbl_TedarikciTelefon.clProSettings.FontColor = clAlphaColor.clHexToColor('#080808'); Lbl_TedarikciTelefon.SetclProSettings(Lbl_TedarikciTelefon.clProSettings); Edt_TedarikciTelefon = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_TedarikciTelefon', ''); Edt_TedarikciTelefon.Align = alTop; Edt_TedarikciTelefon.Height = 30; Edt_TedarikciTelefon.Width = 220; Edt_TedarikciTelefon.Margins.Top = 10; Edt_TedarikciTelefon.SetclProSettings(Edt_TedarikciTelefon.clProSettings); // Product Name Label and Input Lbl_UrunAdi = TedarikciForm.AddNewProLabel(leftPanel, 'Lbl_UrunAdi', 'Ürün Adı'); Lbl_UrunAdi.Align = alTop; Lbl_UrunAdi.Height = 30; Lbl_UrunAdi.clProSettings.FontSize = 12; Lbl_UrunAdi.clProSettings.FontColor = clAlphaColor.clHexToColor('#080808'); Lbl_UrunAdi.SetclProSettings(Lbl_UrunAdi.clProSettings); Edt_UrunAdi = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_UrunAdi', ''); Edt_UrunAdi.Align = alTop; Edt_UrunAdi.Height = 30; Edt_UrunAdi.Width = 220; Edt_UrunAdi.Margins.Top = 10; Edt_UrunAdi.SetclProSettings(Edt_UrunAdi.clProSettings); // Sipariş Miktarı Label and Input Lbl_SiparisMiktari = TedarikciForm.AddNewProLabel(leftPanel, 'Lbl_SiparisMiktari', 'Sipariş Miktarı'); Lbl_SiparisMiktari.Align = alTop; Lbl_SiparisMiktari.Height = 30; Lbl_SiparisMiktari.clProSettings.FontSize = 12; Lbl_SiparisMiktari.clProSettings.FontColor = clAlphaColor.clHexToColor('#080808'); Lbl_SiparisMiktari.SetclProSettings(Lbl_SiparisMiktari.clProSettings); Edt_SiparisMiktari = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_SiparisMiktari', ''); Edt_SiparisMiktari.Align = alTop; Edt_SiparisMiktari.Height = 30; Edt_SiparisMiktari.Width = 220; Edt_SiparisMiktari.Margins.Top = 10; Edt_SiparisMiktari.SetclProSettings(Edt_SiparisMiktari.clProSettings); // Sipariş Tarihi Label and Input Lbl_SiparisTarihi = TedarikciForm.AddNewProLabel(leftPanel, 'Lbl_SiparisTarihi', 'Sipariş Tarihi'); Lbl_SiparisTarihi.Align = alTop; Lbl_SiparisTarihi.Height = 30; Lbl_SiparisTarihi.clProSettings.FontSize = 12; Lbl_SiparisTarihi.clProSettings.FontColor = clAlphaColor.clHexToColor('#080808'); Lbl_SiparisTarihi.SetclProSettings(Lbl_SiparisTarihi.clProSettings); Dt_SiparisTarihi = TedarikciForm.AddNewProDateEdit(leftPanel, 'Dt_SiparisTarihi'); Dt_SiparisTarihi.Align = alTop; Dt_SiparisTarihi.Height = 30; Dt_SiparisTarihi.Width = 220; Dt_SiparisTarihi.Margins.Top = 10; Dt_SiparisTarihi.SetclProSettings(Dt_SiparisTarihi.clProSettings); // Teslimat Tarihi Label and Input Lbl_TeslimatTarihi = TedarikciForm.AddNewProLabel(leftPanel, 'Lbl_TeslimatTarihi', 'Teslimat Tarihi'); Lbl_TeslimatTarihi.Align = alTop; Lbl_TeslimatTarihi.Height = 30; Lbl_TeslimatTarihi.clProSettings.FontSize = 12; Lbl_TeslimatTarihi.clProSettings.FontColor = clAlphaColor.clHexToColor('#080808'); Lbl_TeslimatTarihi.SetclProSettings(Lbl_TeslimatTarihi.clProSettings); Dt_TeslimatTarihi = TedarikciForm.AddNewProDateEdit(leftPanel, 'Dt_TeslimatTarihi'); Dt_TeslimatTarihi.Align = alTop; Dt_TeslimatTarihi.Height = 30; Dt_TeslimatTarihi.Width = 220; Dt_TeslimatTarihi.Margins.Top = 10; Dt_TeslimatTarihi.SetclProSettings(Dt_TeslimatTarihi.clProSettings); // Sipariş Ekleme Button Btn_SiparisEkle = TedarikciForm.AddNewProButton(leftPanel, 'Btn_SiparisEkle', 'Sipariş Ekle'); Btn_SiparisEkle.Align = alTop; Btn_SiparisEkle.Height = 50; Btn_SiparisEkle.Width = 200; Btn_SiparisEkle.Margins.Top = 20; Btn_SiparisEkle.Margins.Left = 20; Btn_SiparisEkle.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); Btn_SiparisEkle.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); Btn_SiparisEkle.clProSettings.FontSize = 16; Btn_SiparisEkle.SetclProSettings(Btn_SiparisEkle.clProSettings); TedarikciForm.AddNewEvent(Btn_SiparisEkle, tbeOnClick, 'SiparisEkleButtonClick'); // Event for button click // Right Panel: Grid for displaying orders MyGrid = TedarikciForm.AddNewStringGrid(rightPanel, 'MyGrid'); MyGrid.Align = alClient; MyGrid.ReadOnly = True; TedarikciForm.clSetWindowState(fwsMaximized); // Run the form TedarikciForm.Run; } |
|
![]() |
|
haletr ![]() Deneyimli Üye ![]() ![]() Kayıt Tarihi: 16 Haziran 2025 Konum: Konya Durum: Aktif Değil Puanlar: 63 |
![]() ![]() ![]() ![]() ![]() |
Merhaba Muammer, Kodunu inceledim. Şu anda herhangi bir veri çekme işlemi yok gibi görünüyor, sadece StringGrid'e manuel veri eklenmiş. StringGrid veri görüntülemek için kullanılıyor ancak arka planda bir veri bağlaması (data binding) olmadığında düzgün çalışmayabilir. Ben kodunu incelerken, StringGrid 'i JSON verisiyle bir Dataset'e bağladığımda sorunsuz çalıştı. Aşağıdaki örneği inceleyebilir misin? Umarım yardımcı olur, iyi çalışmalar. var TedarikciForm: TclForm; Lbl_Baslik: TClProLabel; mainPnl, leftPanel, rightPanel: TclProPanel; Edt_TedarikciAdi, Edt_TedarikciTelefon, Edt_SiparisMiktari, Edt_UrunAdi: TclProEdit; Dt_SiparisTarihi, Dt_TeslimatTarihi: TClProDateEdit; Btn_SiparisEkle: TClProButton; MyGrid: TclStringGrid; jsonStr: String; MyDataSet: TClJSonQuery; TedarikciAdi, TedarikciTelefon, UrunAdi, SiparisTarihi, TeslimatTarihi: String; SiparisMiktari: Integer; void SetupGridColumns; { //MyGrid.RowCount = 1; MyGrid.Columns[0].Header = 'Tedarikçi Adı'; MyGrid.Columns[1].Header = 'Telefon'; MyGrid.Columns[2].Header = 'Ürün'; MyGrid.Columns[3].Header = 'Miktar'; MyGrid.Columns[4].Header = 'Sipariş Tarihi'; MyGrid.Columns[5].Header = 'Teslimat Tarihi'; MyGrid.Columns[0].Width = 150; MyGrid.Columns[1].Width = 120; MyGrid.Columns[2].Width = 150; MyGrid.Columns[3].Width = 120; MyGrid.Columns[4].Width = 120; MyGrid.Columns[5].Width = 120; } void SiparisEkleButtonClick; var row: Integer; { TedarikciAdi = Edt_TedarikciAdi.Text; TedarikciTelefon = Edt_TedarikciTelefon.Text; UrunAdi = Edt_UrunAdi.Text; SiparisTarihi = Dt_SiparisTarihi.Text; TeslimatTarihi = Dt_TeslimatTarihi.Text; try SiparisMiktari = StrToInt(Edt_SiparisMiktari.Text); except ShowMessage('Sipariş miktarı geçerli bir sayı olmalıdır.'); } // Grid’e satır ekle MyGrid.RowCount = MyGrid.RowCount + 1; row = MyGrid.RowCount - 1; MyGrid.Cells[0, row] = TedarikciAdi; MyGrid.Cells[1, row] = TedarikciTelefon; MyGrid.Cells[2, row] = UrunAdi; MyGrid.Cells[3, row] = IntToStr(SiparisMiktari); MyGrid.Cells[4, row] = SiparisTarihi; MyGrid.Cells[5, row] = TeslimatTarihi; // Temizle Edt_TedarikciAdi.Text = ''; Edt_TedarikciTelefon.Text = ''; Edt_UrunAdi.Text = ''; Edt_SiparisMiktari.Text = ''; ShowMessage('Sipariş başarıyla eklendi.'); } { TedarikciForm = TclForm.Create(Self); TedarikciForm.clSetWindowState(fwsMaximized); TedarikciForm.SetFormColor('#f5f5f5', '', clGNone);
jsonStr = '[' + '{"TedarikciAdi":"ABC Ticaret","Telefon":"0555 123 45 67","UrunAdi":"Kalem","SiparisMiktari":100,"SiparisTarihi":"2025-07-11","TeslimatTarihi":"2025-07-20"},' + '{"TedarikciAdi":"XYZ Ltd.","Telefon":"0532 987 65 43","UrunAdi":"Defter","SiparisMiktari":50,"SiparisTarihi":"2025-07-12","TeslimatTarihi":"2025-07-22"}' + ']'; Lbl_Baslik = TedarikciForm.AddNewProLabel(TedarikciForm, 'Lbl_Baslik', 'Tedarikçi Sipariş Ekleme'); Lbl_Baslik.Align = alTop; Lbl_Baslik.Height = 60; Lbl_Baslik.Margins.Top = 20; Lbl_Baslik.clProSettings.FontSize = 26; Lbl_Baslik.clProSettings.FontVertAlign = palCenter; Lbl_Baslik.clProSettings.FontHorzAlign = palCenter; Lbl_Baslik.SetclProSettings(Lbl_Baslik.clProSettings); mainPnl = TedarikciForm.AddNewProPanel(TedarikciForm, 'mainPnl'); mainPnl.Align = alClient; leftPanel = TedarikciForm.AddNewProPanel(mainPnl, 'leftPanel'); leftPanel.Align = alLeft; leftPanel.Width = 400; leftPanel.Margins.Left = 20; leftPanel.Margins.Top = 20; rightPanel = TedarikciForm.AddNewProPanel(mainPnl, 'rightPanel'); rightPanel.Align = alClient; rightPanel.Margins.Left = 20; rightPanel.Margins.Top = 20; Edt_TedarikciAdi = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_TedarikciAdi', 'Tedarikçi Adı'); Edt_TedarikciAdi.Align = alTop; Edt_TedarikciAdi.Margins.Top = 10; Edt_TedarikciTelefon = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_TedarikciTelefon', 'Telefon'); Edt_TedarikciTelefon.Align = alTop; Edt_TedarikciTelefon.Margins.Top = 10; Edt_UrunAdi = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_UrunAdi', 'Ürün Adı'); Edt_UrunAdi.Align = alTop; Edt_UrunAdi.Margins.Top = 10; Edt_SiparisMiktari = TedarikciForm.AddNewProEdit(leftPanel, 'Edt_SiparisMiktari', 'Sipariş Miktarı'); Edt_SiparisMiktari.Align = alTop; Edt_SiparisMiktari.Margins.Top = 10; Dt_SiparisTarihi = TedarikciForm.AddNewProDateEdit(leftPanel, 'Dt_SiparisTarihi'); Dt_SiparisTarihi.Align = alTop; Dt_SiparisTarihi.Margins.Top = 10; Dt_TeslimatTarihi = TedarikciForm.AddNewProDateEdit(leftPanel, 'Dt_TeslimatTarihi'); Dt_TeslimatTarihi.Align = alTop; Dt_TeslimatTarihi.Margins.Top = 10; Btn_SiparisEkle = TedarikciForm.AddNewProButton(leftPanel, 'Btn_SiparisEkle', 'Ekle'); Btn_SiparisEkle.Align = alTop; Btn_SiparisEkle.Margins.Top = 15; Btn_SiparisEkle.Height = 40; Btn_SiparisEkle.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); Btn_SiparisEkle.clProSettings.FontColor = clAlphaColor.clWhite; Btn_SiparisEkle.clProSettings.FontSize = 16; Btn_SiparisEkle.SetclProSettings(Btn_SiparisEkle.clProSettings); TedarikciForm.AddNewEvent(Btn_SiparisEkle, tbeOnClick, 'SiparisEkleButtonClick'); MyGrid = TedarikciForm.AddNewStringGrid(rightPanel, 'MyGrid'); MyGrid.Align = alClient; MyGrid.ReadOnly = True;
MyDataSet = Clomosy.ClDataSetFromJSON(jsonStr); TedarikciForm.AddNewGridBinding(MyGrid, MyDataSet, 'mylink');
SetupGridColumns; TedarikciForm.Run; } |
|
![]() |
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 |