PDA

View Full Version : سوال: Stretch کردن تصاوير در dataGridView ؟



tondar1
جمعه 13 فروردین 1389, 14:09 عصر
سلام خدمت دوستان و تبریک سال نو
سوال من فکر کنم واضح باشه، تو تاپیک ها جستجو کردم ولی به نتیجه نرسیدم
من یه datagridview دارم که می خوام تصاویری که از تو بانک میگیرم و با هر اندازه ای که هست
داخل گرید که اندازه را خودم تنظیم کردم به صورت کامل نمایش بده
من اندازه سلول که تصویر توی اون قرار می گیره به این صورت تنظیم می کنم


GridEmp.Columns[i].Width = 80;
GridEmp.Rows[i].Height = 80;...

mohammad diba
جمعه 13 فروردین 1389, 14:44 عصر
سلام دوست عزیز خاصیت ImageLayout اون ستون رو Stretch کن

tondar1
جمعه 13 فروردین 1389, 14:59 عصر
دوست عزیز خوب نحوه این کارو می شه بگی نمی دونم چجوری:ناراحت:

mohammad diba
جمعه 13 فروردین 1389, 15:05 عصر
دوست عزیز بیا از خواص گرید خاصیت Columns را پیدا کن و ستون مورد نظرت را انتخاب کن و خاصیت رو تنظیم کن

tondar1
جمعه 13 فروردین 1389, 15:24 عصر
میشه یه مثال بزنی ...
یه گرید به اسم G
ستون منم ستون 2
کدشو چه جوری بنویسم

mohammad diba
جمعه 13 فروردین 1389, 15:33 عصر
چه کاری در نمای design این کار رو انجام بده چرا با کد؟

mohammad diba
جمعه 13 فروردین 1389, 15:34 عصر
this.Column1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.S tretch;

tondar1
جمعه 13 فروردین 1389, 16:05 عصر
گرید من


cmd.CommandText = "select cod,pic,name from t1"
cmd.Connection = con;
sda.SelectCommand = cmd;
con.Open();
sda.Fill(ds, "res");
con.Close();
datagridview1.DataSource = ds;
datagridview1.DataMember = "res";
datagridview1.Columns[1].Width = 50;
datagridview1.Rows[1].Height = 80;
این جوری مقدار دهی می شه
ستونی که عکس داره تو گرید من ستون 1 هست،
مثال شما واضح نیست، میشه بیشتر توضیح بدید؟

tondar1
جمعه 13 فروردین 1389, 19:11 عصر
منظورت از نمای design چیه؟

tondar1
شنبه 14 فروردین 1389, 11:48 صبح
دوست عزیز مثال شما خیلی گنگِ ، میشه واضحتر توضیح بدید من خیلی گشتم چیزی پیدا نکردم

behnam25214
شنبه 14 فروردین 1389, 13:02 عصر
منظور از نمای design ، جایی که فرم تو درست میکنی مثلا واسش باتون و دیتاگراید ویو و ... اضافه میکنی هست.
اگه روی دیتاگرایدت کلیک کنی مشخصه های دیتاگراید نمایش داده میشه در سمت راست پنجره.

tondar1
شنبه 14 فروردین 1389, 14:51 عصر
من سوالم اینه که نحوه نمایش عکس در datagridview اونم تو حالتی که گفتم خوب حالا من به نمای طراحی گرید دسترسی ندارم که بخوام اونجوری که میخوام اونو و خصوصیاتشو تنظیم کنم فقط با کدنویسی می تونم خصوصیاتو تنظیم کنم.

tondar1
یک شنبه 15 فروردین 1389, 00:42 صبح
نمی دونم من سوالمو بد پرسیدم شاید اگه متوجه سوال نمی شید بگید بیشتر توضیح بدم:گیج::متفکر:
فکر کنم واسه اساتیدی که تو این تالار زحمت می کشن سوال پیش پا افتاده ای پرسیده باشم
اگه متوجه سوال نمی شید لطفا بگید بیشتر توضیح بدم:افسرده:
با تشکر

behnam25214
یک شنبه 15 فروردین 1389, 08:24 صبح
تو لود فرمت یا هر کجایی که میخوایی با استفاده از این کد میتونی Stretch بکنی↓


this.clm1.ImageLayout = DataGridViewImageCellLayout.Stretch;

فقط کافیه به جای clm1 نام ستون خودتو بنویسی.

tondar1
یک شنبه 15 فروردین 1389, 12:40 عصر
دوست گرامی
این ستونی که شما می گید من باید ایجاد کنم با

DataGridViewImageColumn ColImg= new DataGridViewImageColumn();
this.ColImg.HeaderText = "تصویر";
this.ColImg.Name = "ColImg";
this.GridEmp.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ColImg});
;this.ColImg.ImageLayout = DataGridViewImageCellLayout.Stretch
عکس های بانک چطوری تو این ستون نمایش بدم؟

tondar1
یک شنبه 15 فروردین 1389, 14:02 عصر
مشکلمو اینجوری حل کردم اول اومدم اطلاعاتمو از بانک خوندم بعد تو یه گرید ریختم و بعد اون یه ستون ایجاد کردم و تو یه حلقه for سطرهای ستون جدیدو با سطرهای ستون دیگری که از بانک خوندم از نوع image پر کردم و خاصیت stretch واسه ستون جدید قرار دادم
فکر کنم راه بهتریم هست ولی من پیدا نکردم
کد قسمت های قبلو گذاشتم اینم کد آخرین قسمت که شاید به درد کسی بخوره


for (int i = 0; i < GridEmp.RowCount; i++)
{

GridEmp.Rows[i].Cells[1].Value = GridEmp.Rows[i].Cells[3].Value;
}

this.ColImg.ImageLayout = DataGridViewImageCellLayout.Stretch;

tondar1
یک شنبه 15 فروردین 1389, 14:07 عصر
اینم بگم که[ cells[1 همون ستون جدید هستش
و [cells[3 ستونی هستش که از بانک تو گرید ریختم
واسه نشون ندادن ستون 3 هم از کد زیر استفاده کردم

GridEmp.Columns[3].Visible = false;