PDA

View Full Version : سوال: ایجاد check box با امکان انتخاب چند آیتم در دلفی



سیده ساناز
شنبه 15 شهریور 1393, 15:41 عصر
سلام
من می خوام تو دلفی 7 یه check box یا هر چیز شبیه combo box بذارم که مثل combo box حالت نمایش کشویی داشته باشه و بتونه چند آیتم را انتخاب کنه ، که آیتم ها رو بتونه از یک جدول در sql server بگیره و بعد هم آیتم های انتخاب شده رو در یک جدول در sql server ذخیره کنه.
خواهش می کنم اگه ممکنه توضیح کامل بدید و لطف کنید کد مربوط به دریافت آیتم از sql و ذخیره آیتم ها در sql را بذارید.

خیلی عجله دارم
مرسی

یوسف زالی
شنبه 15 شهریور 1393, 22:59 عصر
سلام.
سیده خانوم اینجوری به جواب نمی رسی.
ورود شما رو خوشامد می گم،
سوالات یکی یکی، البته بعد از جستجو.
سوال شما قبلا در تالار مطرح شده. اگر دنبالش می گردید ولی پیداش نمی کنید، در قسمت "سرنخ - انباری تالار" بپرسید.

Delphi 2010
یک شنبه 16 شهریور 1393, 12:12 عصر
با عرض سلام خدمت همه دوستان
اگه بخواهید چنین کاری کنید
123162

می تونید از کامپوننت JvCheckedComboBox که در مجموعه کامپوننت JVCL موجود هست استفاده نمائید

سیده ساناز
یک شنبه 16 شهریور 1393, 15:54 عصر
از راهنماییتون ممنون
میشه لطفا بگید وقتی دانلود کردم چطور باید تو دلفی ازش استفاده کنم و چطور داده هاش رو از یه جدول تو sql بگیرم و مقدارهای انتخاب شده رو چطور در یه جدول sql ذخیره کنم.
میشه خواهش کنم کدهاش رو بنویسید.
مرسی

ابوالفضل عباسی
یک شنبه 16 شهریور 1393, 16:14 عصر
با تشکر از دوست خوبمون delphi2010 روش chekedbox هم خوبه فقط کافیه که شما به هر اسم یک string تعلق بدهی و در یک حلقه بنویسی هریک از Stirng ها تیک خورده بود رو اسمش رو در txt بریز و در sql ذخیره کن یانه اصلا همون موقع string فعال شده رو در Sql ذخیره کن.
امید وارم راهنمایی که به شما کرده ام مورد قبول واقع شود:لبخند:
الان کد اماده ندارم و سرم هم خیلی شلوغ هست وگرنه حتما یک نمونه برنامه می نوشتم و در اینجا قرار می دادم.

خانم سیده ساناز این هم یک نمونه کد ولی یک جایی ناقص هست وقت نکردم کامل کنم اما کارت رو راه می اندازه.
http://uploadco.ir/uploads/ye0xyjk5yagookwdchah.zip 60KB

سیده ساناز
چهارشنبه 19 شهریور 1393, 10:54 صبح
از برنامه ای که گذاشته بودید ممنون فقط یه سوال داشتم من می خواهم که اطلاعات در SQL ذخیره بشه و با این شرط که بعد هم بشه در یک فرم دیگه مثلا اون آیتم های که تیک خوردند رو select کنیم برای این کار اگر از String استفاده کنم اشکال نداره . چطور می تونم به sql بگم که string0 در چه فیلدی ذخیره بشه منظورم دقیقا اینه که string مثل DBEdit یک DataField نداره که بشه به sql متصل بشه
میشه لطف کنید دستوری که بعد این برای ذخیره هر کدام از آیتم های انتخاب شده در sql هست رو اگه ممکنه بنویسید
for item_int := 0 to CheckListBox1.Items.Count - 1 do
begin
if CheckListBox1.Checked[item_int] = true then
با تشکر

یوسف زالی
چهارشنبه 19 شهریور 1393, 11:33 صبح
نیازی نیست برای هر آیتم یک فیلد بگیرید.
در حقیقت کافیه برای تمام آیتم هاتون فقط یک فیلد بگیرید.
اینجا رو ببینید. (http://barnamenevis.org/showthread.php?388044-%D8%AF%D9%84%D9%81%DB%8C-%D9%88-%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C&p=1722728&viewfull=1#post1722728)

سیده ساناز
چهارشنبه 19 شهریور 1393, 14:41 عصر
ممنون از راهنماییتون
فقط یه سوال داشتم، وقتی چند تا از مقادیر checkListBox رو با string در sql ذخیره کردیم، حالا اگر در یک فرم دیگه بخواهیم بگوییم مثلا اون 5 تا آیتم یا هر تعداد آیتمی که در checkListBox انتخاب شدند را در یک checkListBox یا comboBox دیگه نشان بده ، چطور باید این دستور را بنویسیم
اگر ممکنه میشه خواهش کنم کدش رو بنویسید.
با تشکر

یوسف زالی
چهارشنبه 19 شهریور 1393, 15:21 عصر
گفتم که لازم نیست رشته ذخیره کنید. در لینک داده شده هم ذخیره و هم بازیابی اون در چک لیست باکس انجام شده و کدش هست.
برای نمایش آیتمهای خاص یک لیست در لیست دیگه، اعم از کمبوباکس، ممو، یا رادیوگروپ، کافیه که رشته رو با جداکننده Enter به خاصیت Text اون انتساب بدید، یا این که دونه دونه اد کنید.
برای مثال آیتم های انتخاب شده از چک لیست در کمبو:


procedure CheckListItemsToList(CheckList: TCheckListBox; List: TStrings);
var
i: integer;
begin
if not Assigned(CheckList) then Exit;
if not Assigned(List) then Exit;


List.Clear;


for i := 0 to CheckList.Count -1 do
if CheckList.Checked[i] then
List.Add(CheckList.Items[i]);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
CheckListItemsToList(CheckListBox1, ComboBox1.Items);
CheckListItemsToList(CheckListBox1, Memo1.Lines);
CheckListItemsToList(CheckListBox1, ListBox1.Items);
CheckListItemsToList(CheckListBox1, RadioGroup1.Items);
CheckListItemsToList(CheckListBox1, CheckListBox2.Items);
CheckListItemsToList(CheckListBox1, TabSet1.Tabs);
end;

سیده ساناز
یک شنبه 23 شهریور 1393, 10:26 صبح
گفتم که لازم نیست رشته ذخیره کنید. در لینک داده شده هم ذخیره و هم بازیابی اون در چک لیست باکس انجام شده و کدش هست.
برای نمایش آیتمهای خاص یک لیست در لیست دیگه، اعم از کمبوباکس، ممو، یا رادیوگروپ، کافیه که رشته رو با جداکننده Enter به خاصیت Text اون انتساب بدید، یا این که دونه دونه اد کنید.
برای مثال آیتم های انتخاب شده از چک لیست در کمبو:


procedure CheckListItemsToList(CheckList: TCheckListBox; List: TStrings);
var
i: integer;
begin
if not Assigned(CheckList) then Exit;
if not Assigned(List) then Exit;


List.Clear;


for i := 0 to CheckList.Count -1 do
if CheckList.Checked[i] then
List.Add(CheckList.Items[i]);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
CheckListItemsToList(CheckListBox1, ComboBox1.Items);
CheckListItemsToList(CheckListBox1, Memo1.Lines);
CheckListItemsToList(CheckListBox1, ListBox1.Items);
CheckListItemsToList(CheckListBox1, RadioGroup1.Items);
CheckListItemsToList(CheckListBox1, CheckListBox2.Items);
CheckListItemsToList(CheckListBox1, TabSet1.Tabs);
end;





سلام
با توجه به اینکه checklistbox خاصیت datafield و datasource ندارد چطور باید به sql sqerver متصلش کنیم
با تشکر