PDA

View Full Version : سوال: تصوير و datagrideview



csharpprogramer88
دوشنبه 07 دی 1388, 22:12 عصر
سلام به همه دوستان و تسليت ايام محرم

اگر بخواهيم در ديتا گريد تصوير را نمايش دهيم چيكار بايد بكنيم . اين تصوير بايد در يك ستون از گريد و به همراه اطلاعات ديگر ركورد مانند نام و آدرس و .... باشد كه بسته به اطلاعات آن ركورد تصوير نيز متغير باشد مثلادر يك دفترچه تلفن بخواهيم تصاوير طرف ها را نمايش دهيم

noroozifar
دوشنبه 07 دی 1388, 22:17 عصر
تمامی فیلدها را می توانی در دیتا گرید نمایش دهی ولی برای استفاده از عکس از یک picturebox استفاده کن و به فیلد جدول لینکش کن

sara.f
دوشنبه 07 دی 1388, 22:18 عصر
سلام به همه دوستان و تسليت ايام محرم

اگر بخواهيم در ديتا گريد تصوير را نمايش دهيم چيكار بايد بكنيم . اين تصوير بايد در يك ستون از گريد و به همراه اطلاعات ديگر ركورد مانند نام و آدرس و .... باشد كه بسته به اطلاعات آن ركورد تصوير نيز متغير باشد مثلادر يك دفترچه تلفن بخواهيم تصاوير طرف ها را نمايش دهيم
سلام
http://barnamenevis.org/forum/showthread.php?t=180720

AliRezaPro
دوشنبه 07 دی 1388, 22:20 عصر
خوب یک ستون رو بصورت image بگیریدوعکس رو هنگام ایسرت اطلاعات ایسرت کنید

csharpprogramer88
سه شنبه 08 دی 1388, 19:11 عصر
خوب یک ستون رو بصورت image بگیریدوعکس رو هنگام ایسرت اطلاعات ایسرت کنید

مي شه خود عكس (نه آدرس اونو) ذخيره كرد اگر ممكنه بيشتر توضيح بديد يا يه مثال بگذاريد ممنونم

AliRezaPro
سه شنبه 08 دی 1388, 20:16 عصر
با OpenFileDialog به کاربر اجازه بده تا عکس رو انتخاب کنه
بعد از انتخاب آدرس رو بفرست به دیتابیس و خود فایل رو جایی(مثل یک فولدر)کپی کن(این برای ادرس)
برای خود عکس هم هزاران نمونه کد من و دوستان گزاشتن(برای بازیابی و اینسرت)

ahrimaneahurai
سه شنبه 08 دی 1388, 21:07 عصر
سلام دوست عزیز این پروژه رو دانلود کن
http://rapidshare.com/files/327371556/ShowImageInGeridView.rar.html

sara.f
سه شنبه 08 دی 1388, 21:34 عصر
مي شه خود عكس (نه آدرس اونو) ذخيره كرد اگر ممكنه بيشتر توضيح بديد يا يه مثال بگذاريد ممنونم

آیا اون نمونه برنامه ای که لینکش را دادم اصلا نگاه کردید؟ اگر نگاه کرده بودید جوابتون را گرفته بودید.

csharpprogramer88
چهارشنبه 09 دی 1388, 10:58 صبح
آیا اون نمونه برنامه ای که لینکش را دادم اصلا نگاه کردید؟ اگر نگاه کرده بودید جوابتون را گرفته بودید.


سلام sara.f و ممنون از اينكه كمك كرديد . برنامه شما را دانلود كردم ولي ديتابيس را نتونستم restore كنم (در اين مورد توضيح بدين)



dataadapter.InsertCommand.CommandText = "insert into employee(fname,lname,position,office,pic) values(@fname,@lname,@position,@office,@i)";



اين كد معلومه كه با اون بصورت پارامتري insert انجام مي شه



byte[] imagecontent = new byte[fs.Length];
fs.Read(imagecontent, 0, (int)fs.Length);
SqlParameter ping = new SqlParameter("@i", imagecontent);
ping.SqlDbType = SqlDbType.Image;
dataadapter.InsertCommand.Parameters.Add(ping);



ولي از اين كد چيزي نمي فهمم:متعجب: . دوست عزيز من تازه كارم خواهشا برام واضح توضيح بديد .

با تشكر از شما :تشویق:

sara.f
پنج شنبه 10 دی 1388, 19:59 عصر
سلام sara.f و ممنون از اينكه كمك كرديد . برنامه شما را دانلود كردم ولي ديتابيس را نتونستم restore كنم (در اين مورد توضيح بدين)



در این مورد به عکس های زیر توجه کنید.

sara.f
پنج شنبه 10 دی 1388, 20:11 عصر
byte[] imagecontent = new byte[fs.Length];
fs.Read(imagecontent, 0, (int)fs.Length);
SqlParameter ping = new SqlParameter("@i", imagecontent);
ping.SqlDbType = SqlDbType.Image;
dataadapter.InsertCommand.Parameters.Add(ping);



ولي از اين كد چيزي نمي فهمم:متعجب: . دوست عزيز من تازه كارم خواهشا برام واضح توضيح بديد .

با تشكر از شما :تشویق:

این خط کدها در ادامه دستور insert نوشته شده اند و به منظور ذخیره عکس در دیتا بیس می باشند.

در خط اول آرایه ای از بایت ها به طول عکس تعریف شده است.
خط دوم محتویات فایل عکس و طول آن را برمی گرداند.
خط سوم به پارامتر i@ که در دستور insert تعریف شده ، مقدار imagecontetnt را نسبت می دهد.
خط چهارم نوع فایل عکس در دیتا بیس را از نوع image تعریف می کند. // البته اگر این خط را ننویسید هم مشکلی پیش نمی آید، چون به هر حال بهتر است که در SQL2008 نوع فیلد عکس را varbinary(max) تعریف کنید.
در خط آخر عمل درج در دیتا بیس را انجام می دهد.

H2K
پنج شنبه 10 دی 1388, 23:16 عصر
برای (Restore) کردن
تو قسمت Option تیک اول رو بزن وRadioButton رو رو اول‌ بذار
بد Restoreکن

csharpprogramer88
شنبه 12 دی 1388, 18:40 عصر
در این مورد به عکس های زیر توجه کنید.


سلام
دوست عزيز من طبق تصاوير ارسالي شما عمل كردم باز هم ارور مي ده (قبلاهم همين كارا انجام مي دادم) ظاهرا مشكل از فايل شماست موقعي كه add مي كنم پسوند back را نمي شناسه كه من بايد all program را انتخاب كنم كه ارور مي ده

من هم ارور و هم فايلي كه دانلود كردم رو مي ذارم لطف كرده و بررسي كنيد با تشكر :تشویق: