OUR DEARS,
I am try to strech un image to datagridviewimagecolumn cell in c# instead of that the selected row heigh increased according to un image hegh.
ing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace نظام_العلاوة_السنوية
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
public Form refToForm2 { get; set; }
private void Form4_Load(object sender, EventArgs e)
{
WindowState = FormWindowState.Maximized;
this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.BackColor = Color.Beige;
this.ForeColor = Color.Brown;
this.Text = "أستمارة اضافة منتسب جديد";
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Beige;
dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.Brown;
dataGridView1.ColumnHeadersDefaultCellStyle.Font = new Font(dataGridView1.Font, FontStyle.Bold);
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.MultiSelect = true;
dataGridView1.ColumnCount = 11;
dataGridView1.Columns[0].Name = "الرقم الرمزي";
dataGridView1.Columns[1].Name = "الأسم";
dataGridView1.Columns[2].Name = "تاريخ التعيين";
dataGridView1.Columns[3].Name = "تاريخ آخر ترقية أو علاوة";
dataGridView1.Columns[4].Name = "تاريخ الحصول على الشهادة";
dataGridView1.Columns[5].Name = "الأجازات الأعتيادية";
dataGridView1.Columns[6].Name = "الأجازات المرضية";
dataGridView1.Columns[7].Name = "الأجازات بدون راتب";
dataGridView1.Columns[8].Name = "الأجازات الدراسية";
dataGridView1.Columns[9].Name = "التقييم";
dataGridView1.Columns[10].Name = "درجة التقييم";
string[] row1 = new string[] {"59308","أحسان محمود عباس", "29/10/1987", "18/10/2017", "13/07/1987", "10", "07", "", "", "جيد جدا", "85" };
string[] row2 = new string[] { "12345", "غالب أحمد سلمان", "01/01/1993", "18/10/2017", "01/01/1993", "10", "07", "05", "", "", "جيد جدا" };
object[] rows = new object[] { row1, row2 };
foreach (string[] rowArray in rows)
{
dataGridView1.Rows.Add(rowArray);
}
DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
cmb.HeaderText = "الأستحقاق";
cmb.Name = "Name";
cmb.MaxDropDownItems = 2;
cmb.Items.Add("يستحق");
cmb.Items.Add("لا يستحق");
dataGridView1.Columns.Add(cmb);
DataGridViewImageColumn imgCol = new DataGridViewImageColumn();
imgCol.HeaderText = "الصورة";
imgCol.Name = "img";
dataGridView1.Columns.Add(imgCol);
Image img = Image.FromFile("C:\\Users\\user\\Desktop\\fsc3.jpg");
for (int i = 0; i < dataGridView1.Columns.Count; i++ )
{
if (dataGridView1.Columns[i] is DataGridViewImageColumn)
{
dataGridView1.Rows[0].Cells[12].Value = img;
((DataGridViewImageColumn)dataGridView1.Columns[12]).ImageLayout = DataGridViewImageCellLayout.Stretch;
}
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.dataGridView1.Rows.Add();
}
private void button2_Click(object sender, EventArgs e)
{
if(this.dataGridView1.SelectedRows.Count > 0 && this.dataGridView1.SelectedRows[0].Index != this.dataGridView1.Rows.Count -1)
{
this.dataGridView1.Rows.RemoveAt(this.dataGridView1.SelectedRows[0].Index);
}
}
}
}
What I have tried:
Image img = Image.FromFile("C:\\Users\\user\\Desktop\\fsc3.jpg");
for (int i = 0; i < dataGridView1.Columns.Count; i++ )
{
if (dataGridView1.Columns[i] is DataGridViewImageColumn)
{
dataGridView1.Rows[0].Cells[12].Value = img;
((DataGridViewImageColumn)dataGridView1.Columns[12]).ImageLayout = DataGridViewImageCellLayout.Stretch;
}
}
and try :
row.heght = 30;