Sayfayı Yazdır | Pencereyi Kapat

TclProListView veri güncelleme

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=1083
Tarih: 14 Temmuz 2025 Saat 14:12
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: TclProListView veri güncelleme
Mesajı Yazan: Sudesigirci
Konu: TclProListView veri güncelleme
Mesaj Tarihi: 14 Temmuz 2025 Saat 09:24
Merhaba arkadaşlar , aşağıdaki kodda butona basınca statü güncellemeyi amaçladım fakat butona basınca hata alıyorum neyden kaynaklandığını bulamadım yardımcı olur musunuz

var
  MyForm: TclForm;
  ListView1: TClProListView;
  DesignerPanel1: TClProListViewDesignerPanel;
  lblEmail, lblModul, lblAciklama, lblDurum, title: TClProLabel;
  btnStatu: TClProButton;
  Qry: TClSQLiteQuery;
  kullanici_email: String;



void GetData;
{
  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'musteriistekanalizi.db3', '');
    kullanici_email = Clomosy.GlobalVariableString;

    Qry = Clomosy.DBSQLiteQueryWith(
      'SELECT ' +
      'kullanici_email as MAIN_TEXT, ' +
      'modul as SIDE_TEXT_TOP, ' +
      'aciklama as SIDE_TEXT_BOTTOM, ' +
      'status as durum, ' +
      'id as RECORD_GUID ' +
      'FROM Talepler'
    );

    Qry.OpenOrExecute;
    ListView1.clLoadProListViewDataFromDataset(Qry);
    Qry.Close;

  except
    ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
  }
}

void onItemClicked;
{
  ShowMessage(ListView1.clSelectedItemData('MAIN_TEXT'));
}

void onStatuDegistir;
var
  secilenID: Integer;
  mevcutDurum: String;
{
   ShowMessage('buton çalışıyor');
  try
  
    secilenID = ListView1.clSelectedItemData('RECORD_GUID');

    Qry = Clomosy.DBSQLiteQueryWith('SELECT status FROM Talepler WHERE id = ' + secilenID);
    Qry.OpenOrExecute;

    if Qry.Found {
      mevcutDurum = Qry.FieldByName('status');

      if mevcutDurum == 'Bekliyor' {
        Clomosy.DBSQLiteQuery.SQL.Text = 'UPDATE Talepler SET status = ' + QuotedStr('Çözüldü') + ' WHERE id = ' + secilenID;
      } else {
        Clomosy.DBSQLiteQuery.SQL.Text = 'UPDATE Talepler SET status = ' + QuotedStr('Bekliyor') + ' WHERE id = ' + secilenID;
      }

      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('Statü güncellendi.');
     
    }

  except
    ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
  }
}


void CreateDesignerPanelItems;
{
  lblEmail = MyForm.AddNewProLabel(DesignerPanel1, 'MAIN_TEXT', '-');
  lblEmail.Align = AlTop;
  lblEmail.Height = 25;
  lblEmail.clProSettings.FontSize = 14;
  lblEmail.clProSettings.FontColor = clAlphaColor.clBlack;
  lblEmail.SetclProSettings(lblEmail.clProSettings);
  DesignerPanel1.AddPanelObject(lblEmail, clText);

  lblModul = MyForm.AddNewProLabel(DesignerPanel1, 'SIDE_TEXT_TOP', '-');
  lblModul.Align = AlTop;
  lblModul.Height = 25;
  lblModul.clProSettings.FontSize = 14;
  lblModul.clProSettings.FontColor = clAlphaColor.clBlack;
  lblModul.SetclProSettings(lblModul.clProSettings);
  DesignerPanel1.AddPanelObject(lblModul, clText1);

  lblAciklama = MyForm.AddNewProLabel(DesignerPanel1, 'SIDE_TEXT_BOTTOM', '-');
  lblAciklama.Align = AlTop;
  lblAciklama.Height = 25;
  lblAciklama.clProSettings.FontSize = 14;
  lblAciklama.clProSettings.FontColor = clAlphaColor.clBlack;
  lblAciklama.SetclProSettings(lblAciklama.clProSettings);
  DesignerPanel1.AddPanelObject(lblAciklama, clText2);

  lblDurum = MyForm.AddNewProLabel(DesignerPanel1, 'durum', '-');
  lblDurum.Align = AlTop;
  lblDurum.Height = 25;
  lblDurum.clProSettings.FontSize = 14;
  lblDurum.clProSettings.FontColor = clAlphaColor.clWhite;
  lblDurum.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFD700'); // Sarı
  lblDurum.clProSettings.RoundWidth = 10;
  lblDurum.clProSettings.RoundHeight = 10;
  lblDurum.SetclProSettings(lblDurum.clProSettings);
  DesignerPanel1.AddPanelObject(lblDurum, clText3);

  btnStatu = MyForm.AddNewProButton(DesignerPanel1, 'btnStatu', 'Statü Değiştir');
  btnStatu.Align = alBottom;
  btnStatu.Height = 30;
  btnStatu.Margins.Top = 5;
  btnStatu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#007ACC');
  btnStatu.clProSettings.FontColor = clAlphaColor.clWhite;
  btnStatu.clProSettings.RoundWidth = 10;
  btnStatu.clProSettings.RoundHeight = 10;
  btnStatu.clProSettings.FontSize = 12;
  btnStatu.SetclProSettings(btnStatu.clProSettings);
  DesignerPanel1.AddPanelObject(btnStatu, clText);

  MyForm.AddNewEvent(btnStatu, tbeOnClick, 'onStatuDegistir');
}

void CreateDesignerPanel;
{
  DesignerPanel1 = MyForm.AddNewProListViewDesignerPanel(ListView1, 'DesignerPanel1');
  DesignerPanel1.Height = 160;
  DesignerPanel1.Width = 300;
  DesignerPanel1.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  DesignerPanel1.clProSettings.BorderColor = clAlphaColor.clGray;
  DesignerPanel1.clProSettings.BorderWidth = 1;
  DesignerPanel1.clProSettings.RoundHeight = 10;
  DesignerPanel1.clProSettings.RoundWidth = 10;
  DesignerPanel1.SetclProSettings(DesignerPanel1.clProSettings);
  ListView1.SetDesignerPanel(DesignerPanel1);
  CreateDesignerPanelItems;
}

void CreateListView;
{
  ListView1 = MyForm.AddNewProListView(MyForm, 'ListView1');
  ListView1.Align = alClient;
  ListView1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#000080');
  ListView1.clProSettings.RoundHeight = 5;
  ListView1.clProSettings.RoundWidth = 5;
  ListView1.clProSettings.ViewType = lvIcon;
  ListView1.clProSettings.ItemHeight = 160;
  ListView1.clProSettings.ColCount = 1;
  ListView1.SetclProSettings(ListView1.clProSettings);
  MyForm.AddNewEvent(ListView1, tbeOnItemClick, 'onItemClicked');

  CreateDesignerPanel;
}



{
  MyForm = TclForm.Create(Self);
  
  title = MyForm.AddNewProLabel(MyForm, 'title', 'Gelen Talepler');
  title.Align = alMostTop;
  title.Margins.Top = 10;
  title.Height = 40;
  title.clProSettings.FontSize = 30;
  title.clProSettings.TextSettings.Font.Style = [fsBold];
  title.clProSettings.FontHorzAlign = palCenter;
  title.SetclProSettings(title.clProSettings);

  CreateListView;
  GetData;


  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