PDA

View Full Version : سوال: عدم نمایش عکس در Grid Control کامپیونت DevExpress DXperience .



mjzsoft25
یک شنبه 12 شهریور 1391, 14:14 عصر
سلام
من با استفاده از دستور زیر به دیتابیسم یک عکس اضافه می کنم.
CMM = new SqlCommand("Insert into Contact (id,name,image) values(@1,@2,@3)", CNN);
MemoryStream MS = new MemoryStream();
pictureBox1.Image.Save(MS, ImageFormat.Png);
byte[] ArrPic = MS.GetBuffer();
CMM.Parameters.Add("@1", "222");
CMM.Parameters.Add("@2", "MJZ SOFT");
CMM.Parameters.Add("@3", SqlDbType.VarBinary).Value = ArrPic;
CNN.Open();
try
{
CMM.ExecuteNonQuery();
MessageBox.Show("Yes");
}
catch
{
MessageBox.Show("No");
}
CNN.Close();
MS.Close();
ولی وقتی Table رو با دستور زیر توی Data Grid و DevExpress DXperience شو می کنم.
DA = new SqlDataAdapter("Select * from Contact", CNN);
CNN.Open();
try
{
DA.Fill(DT);
gridControl1.DataSource = dataGridView1.DataSource = DT;
}
catch
{
MessageBox.Show("No");
}
CNN.Close();
عکس توی Data Grid لود میشه ولی توی Grid Control عکس لود نمشه و بجاش کد زیر رو مینویسه.
System.Byte[]
حالا من باید چه کار کنم تا عکسم توی Grid Control هم شو بشه؟؟؟؟؟:متفکر:

mjzsoft25
دوشنبه 13 شهریور 1391, 17:23 عصر
دوستان اگر کسی میدونه لطفا کمک کنه.:افسرده:

SokooteShab1
سه شنبه 14 شهریور 1391, 01:04 صبح
سلام توجه داشته باش که نوع فیلد imageدر دیتا بیس باید : image باشه.
اگه هست این کد رو امتحان کن.

FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);

fs.Close();
br.Close();
SqlCommand addpic = new SqlCommand("INSERT INTO table1 (" + " PictureOFStudent) " + " VALUES(@img)", cnn);
addpic.Parameters.Add("@img", SqlDbType.Image, photo.Length).Value = photo;

cnn.Open();

addpic.ExecuteNonQuery();
cnn.Close();

mjzsoft25
سه شنبه 14 شهریور 1391, 12:10 عصر
سلام توجه داشته باش که نوع فیلد imageدر دیتا بیس باید : image باشه.
اگه هست این کد رو امتحان کن.

FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);

fs.Close();
br.Close();
SqlCommand addpic = new SqlCommand("INSERT INTO table1 (" + " PictureOFStudent) " + " VALUES(@img)", cnn);
addpic.Parameters.Add("@img", SqlDbType.Image, photo.Length).Value = photo;

cnn.Open();

addpic.ExecuteNonQuery();
cnn.Close();
سلام
دوست عزیز مشکل حل نشد.:افسرده:
هنوزم همون مشکل قبلی رو دارم.
92329

SokooteShab1
سه شنبه 14 شهریور 1391, 14:58 عصر
gridControl1.DataSource = dataGridView1.DataSource = DT;
به جای استفاده از این کد برا پر کردن گرید،
مستقیما پرش کنید.

gridControl1.DataSource = DT;

SokooteShab1
سه شنبه 14 شهریور 1391, 15:30 عصر
این نمونه رو ببین. برا من که جواب داد.

arman_Delta2002
سه شنبه 14 شهریور 1391, 16:09 عصر
شما باید نوع سلول رو براش تعریف کنین چی هست
مثالا واسه توضیحات بلند این کد رو بکار میبرم

GridView_Kalaha1.Columns("TozihateKotah").ColumnEdit = RepositoryItemMemoExEdit1()

اینم واسه تصاویر
GridView_Pic1.Columns("Pic1").ColumnEdit = RepositoryItemImageEdit1
RepositoryItemImageEdit1 رو میتونین در قسمت دیزاینر گرد ایجاد کنین لبه View Repository

mjzsoft25
چهارشنبه 15 شهریور 1391, 10:49 صبح
شما باید نوع سلول رو براش تعریف کنین چی هست
مثالا واسه توضیحات بلند این کد رو بکار میبرم

GridView_Kalaha1.Columns("TozihateKotah").ColumnEdit = RepositoryItemMemoExEdit1()

اینم واسه تصاویر
GridView_Pic1.Columns("Pic1").ColumnEdit = RepositoryItemImageEdit1
RepositoryItemImageEdit1 رو میتونین در قسمت دیزاینر گرد ایجاد کنین لبه View Repository

ببخشید میشه یک بار دگیه مراحل رو مرتب بگویید؟؟؟:گیج: