View Full Version : Set & Get CheckListBox From SQL Query
FirstLine
یک شنبه 01 آذر 1383, 11:42 صبح
با سلام
یک بانک اطلاعاتی با سه فیلد دارم که با نامهای Tel_ID, Tel_Code, Tel_Name هستند که Tel_ID کلید است.
حالا من میخوام :
1- اطلاعات Tel_Code و Tel_Name را که با یک AdoQuery خوانده ام را در یک CheckListBox نشان بدهم بصورتی که Tel_Name را نمایش داده و مقدار Tel_Code را بعنوان Value نگه دارد.
2- چجوری بفهمم که کاربر کدام یک از CheckBox های CheckListBox را انتخاب کرده است؟ و گزینه های انتخاب شده را در یک بانک دیگر بریزم.
مشکل بیشتر در قسمت 2 است.
با تشکر
Mohsen_4194
یک شنبه 01 آذر 1383, 21:45 عصر
من با CheckListBox کار نکردهام ولی کلاْ در مورد ListBox ها باید کل List رو Trace کنی .
hr110
یک شنبه 01 آذر 1383, 22:12 عصر
از یک stringlist برای نگهداری کدها استفاده کن
FirstLine
دوشنبه 02 آذر 1383, 06:19 صبح
با سلام
چجوری میتونم Tel_Name را نمایش داده و مقدار Tel_Code را بعنوان Value نگهداری و دریافت کنم؟
در دات نت این کار امکان پذیر است اما اینجا چطور
با تشکر
hr110
دوشنبه 02 آذر 1383, 07:39 صبح
با یک ارتباط یک به یک این کار ممکن است، یعنی شما به ازای درج یک ایتم در چک لیست باکس یا کمبوباکس یک مقدار (که همان کد است) در یک stringlist درج میکنید ، به این صورت وقتی کاربر یک مقدار را در لیست انتخاب میکند (ItemIndex) معادلش در stringlist را میتوانید گرفته و ادامه دهید ...
Mohsen_4194
دوشنبه 02 آذر 1383, 22:07 عصر
type
PMyRec = ^TMyRec;
TMyRec = record
ID: integer;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
MyRecPtr: PMyRec;
begin
CheckListBox1.Items.Clear;
New(MyRecPtr);
MyRecPtr^.ID :=100;
CheckListBox1.Items.AddObject('Item1',TObject(MyRe cPtr));
New(MyRecPtr);
MyRecPtr^.ID :=200;
CheckListBox1.Items.AddObject('Item2',TObject(MyRe cPtr));
end;
procedure TForm1.CheckListBox1Click(Sender: TObject);
begin
ShowMessage(IntToStr(PMyRec(CheckListBox1.Items.Ob jects[CheckListBox1.ItemIndex])^.ID));
end;
vcldeveloper
سه شنبه 03 آذر 1383, 02:22 صبح
چجوری میتونم Tel_Name را نمایش داده و مقدار Tel_Code را بعنوان Value نگهداری و دریافت کنم؟
با استفاده از فیلدهای LookUp هم می تونید این کار رو بکنید
FirstLine
سه شنبه 03 آذر 1383, 06:22 صبح
با سلام
با تشکر از راهنمایی شما دوستان عزیز :flower:
من نمیخوام از LookUp استفاده کنم و بنا به دلایلی باید از CheckListBox استفاده کنم.
با تشکر
_alish_
سه شنبه 03 آذر 1383, 06:59 صبح
البته این طور هم میشه
procedure TForm1.FormShow(Sender: TObject);
var
Value :String;
begin
Value := 'ASD';
CheckListBox1.Items.AddObject('222',TObject(Value) );
Value := 'Ali';
CheckListBox1.Items.AddObject('333',TObject(Value) );
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
showmessage(string (CheckListBox1.Items.Objects[CheckListBox1.ItemInd ex]));
end;
FirstLine
سه شنبه 03 آذر 1383, 13:34 عصر
با سلام
از راهنمایی همه عزیزان متشکرم
با این کد مشکل من حل شد
<span dir=ltr>
For i_Temp:=1 to DM_Main.ADOQuery_Temp.RecordCount do
begin
CheckListBox_Organ.Items.AddObject(DM_Main.ADOQuer y_Temp.FieldByName('Organ_Name').AsString , TObject(DM_Main.ADOQuery_Temp.FieldByName('Organ_C ode').AsInteger));
If DM_Main.ADOQuery_Temp_2.Locate('Organ_Law_OrganCod e', Integer(CheckListBox_Organ.Items.Objects[i_Temp-1]), []) then
CheckListBox_Organ.Checked[i_Temp-1] := True
else
CheckListBox_Organ.Checked[i_Temp-1] := False;
DM_Main.ADOQuery_Temp.Next;
end;
</span>
با تشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.