Arsip: move record ???

 
user image
more 14 years ago

bastian

mohon bantuan temen2 senior. gimana caranya jika kita mau data record yang kita pilih di DBGrid dipindah ke atas atau ke bawah ??? misal data record ke 3 ingin kupindah jadi record ke 1, tapi perpindahanya 1-1 ga langsung lompat ke record tujuan. makasih atas bantuan temen2. Note : database mysql
user image
more 14 years ago

ksatria_77

nah lho, kalo udah database terkoneksi bukannya tinggal pake dbnavigator aja,, bukan begitu ??
user image
more 14 years ago

deLogic

mungkin maksudnya... posisi data record 3 pada DBGrid, pada baris 3, mo dipindahkan ke baris 1... tapi gak bisa langsung ke baris 1, harus melalui bari 2 dulu... begitukah? OOT: btw ini post gw yang ke 888.. gak berasa neh.. :)
user image
more 14 years ago

bastian

@deLogic: mungkin maksudnya... posisi data record 3 pada DBGrid, pada baris 3, mo dipindahkan ke baris 1... tapi gak bisa langsung ke baris 1, harus melalui bari 2 dulu... begitukah? OOT: btw ini post gw yang ke 888.. gak berasa neh.. :)
bener kata deLogic, jadi gimana donk solusinya?
user image
more 14 years ago

_lmz

Rasanya nggak masuk akal. Result set dari SELECT tanpa ORDER BY urutannya tidak terdefinisikan / undefined. Kalau mau berurutan pasti ada fieldnya atau expression tertentu yang buat mengurutkan bukan begitu? Kalau mau merubah urutannya ya ubah saja nilai fieldnya supaya dengan nilai field yang baru posisinya berubah bila diurutkan. Kalau nggak gitu bagaimana bisa urutannya tetap ketika diselect lagi? Yang saya kurang tahu adalah apakah data di DBGrid otomatis tersort ulang ketika nilai fieldnya diganti. Apabila di belakangnya bukan database relasional melainkan TClientDataSet mungkin lebih mudah, tukar saja isi record yang aktif dengan record sebelumnya... tapi kalau MySQL...
user image
more 14 years ago

deLogic

memang susah kalo hal tersebut yg diinginkan.. kecuali And sudah bikin field NoUrut, yang harus diupdate setiap ada pemindahan posisi... dan pada klausul SELECT Anda, ORDER BY nya berdasarakan field NoUrut tersebut. btw hal ini tujuannya untuk apa sih.. kok harus pake mindahin posisi record....?
user image
more 14 years ago

bosenjadiprogrammer

ada ada saja maunya
user image
more 14 years ago

yayaretina

kalo di akalin pake list box bisa gak yach... aku pernah bikin pake listbox untuk memindahkan item... cuma bukan database... kalo untuk database belom nyoba. mungkin bisa dicoba buat sabastian.. tinggal akses datanya dari listbox...
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var 
  CurrIndex: Integer; 
begin 
  if ListBox1.ItemIndex > 0 then 
  begin 
    CurrIndex := ListBox1.ItemIndex; 
    ListBox1.Items.Move(ListBox1.ItemIndex, (CurrIndex - 1)); 
    ListBox1.ItemIndex := CurrIndex - 1;
  end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var 
  CurrIndex, LastIndex: Integer; 
begin 
  CurrIndex := ListBox1.ItemIndex; 
  lastindex := ListBox1.Items.Count; 
  if ListBox1.ItemIndex <> -1 then 
  begin 
    if CurrIndex + 1 < lastindex then 
    begin 
      ListBox1.Items.Move(ListBox1.ItemIndex, (CurrIndex + 1)); 
      ListBox1.ItemIndex := CurrIndex + 1; 
    end; 
  end; 
end;
end.
nyambung gak nih... sambung-sambungin aja dech...
user image
more 14 years ago

bastian

@yayaretina: kalo di akalin pake list box bisa gak yach... aku pernah bikin pake listbox untuk memindahkan item... cuma bukan database... kalo untuk database belom nyoba. mungkin bisa dicoba buat sabastian.. tinggal akses datanya dari listbox...
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var 
  CurrIndex: Integer; 
begin 
  if ListBox1.ItemIndex > 0 then 
  begin 
    CurrIndex := ListBox1.ItemIndex; 
    ListBox1.Items.Move(ListBox1.ItemIndex, (CurrIndex - 1)); 
    ListBox1.ItemIndex := CurrIndex - 1;
  end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var 
  CurrIndex, LastIndex: Integer; 
begin 
  CurrIndex := ListBox1.ItemIndex; 
  lastindex := ListBox1.Items.Count; 
  if ListBox1.ItemIndex <> -1 then 
  begin 
    if CurrIndex + 1 < lastindex then 
    begin 
      ListBox1.Items.Move(ListBox1.ItemIndex, (CurrIndex + 1)); 
      ListBox1.ItemIndex := CurrIndex + 1; 
    end; 
  end; 
end;
end.
nyambung gak nih... sambung-sambungin aja dech...
saya ucapkan terimakasih kepada yayaretina dan yg lainnya...tapi untuk ide dari listbox saya dah coba otak atik tapi ga bisa juga. kalo pun harus menambah fieldnya dgn nama nourut tapi bagaimana merubah dan mengurutkannya pada saat memindahkannya?
user image
more 14 years ago

deLogic

tahapan update nourut nya: - Anda harus mengetahui record aktif yang ingin dipindahkan, beserta NoUrutnya. - Anda harus mengetahui arah perpindahan, apakah ke atas atau ke bawah - Pada saat dilakukan pemindahan, jika pemindahan ke atas, maka Anda harus mengupdate nilai field NoUrut record dengan NomorUrut aktif dan NomorUrut di atasnya (NoUrut - 1). Dimana nilai field NoUrut pada record aktif menjadi "NoUrut-1" dan nilai field NoUrut pada record di atasnya dari "NoUrut-1" menjadi "NoUrut" - Pada saat dilakukan pemindahan, jika pemindahan ke bawah, maka Anda harus mengupdate nilai field NoUrut record dengan NomorUrut aktif dan NomorUrut di bawahnya (NoUrut + 1). Dimana nilai field NoUrut pada record aktif menjadi "NoUrut+1" dan nilai field NoUrut pada record di bawahnya dari "NoUrut+1" menjadi "NoUrut" - Refresh dataset Anda agar tampilan di DBGrid ter-update dilarang bingung ... :)
more ...
  • Pages:
  • 1
  • 2
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com