غیر فعال کردن یک سطر از دیتا گرید
من یک دیتا گرید دارم که ستون های جدول دکتر را نشان می دهد یک ستون به نام وضعیت دارم که از نوع bit است هرگاه این ستون برابر صفر است آن دکتر غیر فعال می شود برنامه ام این کار را می کند حال باید این سطر از دیتا گرید که ستون وضعیت آن غیر فعال است ازحالت انتخاب خارج شود با چه کدی می توانم این سطر که نشان داده می شود غیر فعال کنم تا حالت انتخاب نداشته باشد؟
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
میتونی از یه حلقه استفاده کنی و ردیفهایی رو که میخوای ReadOnly کنی و بعد رنگ زمینه اونها رو عوض کنی
اگه نیاز به کد داری بگو
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
foreach(DataGridViewRow row in dataGridView1.Rows)
if(shart)
row.ReadOnly=true;
row.BackColor = Color.Red;
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
dataGridView1.DataSource = ds.Tables[0];
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (dataGridView1.Columns[7].ToString() == "False")
{
row.ReadOnly = true;
}
}
تابع search من dataset برمی گرداند و این کد به این شکل نوشتم عمل نمی کند اشکال از کجاست؟؟؟؟
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
foreach(DataGridViewRow row in dataGridView1.Rows)
if (row.Cells[7].Value.ToString() == "false")
{
row.ReadOnly = true;
}
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
من دقیقا همین کد شما را می نویسم ولی می رود روی خط شرط و این error را می دهد چرا؟ چی کا کنم ؟؟؟Object reference not set to an instance of an object.
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
احتمالا سلولی که میخواید چک کنید CheckBox درسته؟
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
اگه اینطوره از این کد استفاده کنید
DataGridViewCheckBoxCell c;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
c = (DataGridViewCheckBoxCell)row.Cells[7];
row.ReadOnly = Convert.ToBoolean(c.Value);
}
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
ویا از این کد که ساده تره
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.ReadOnly = Convert.ToBoolean(row.Cells[7].Value);
}
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
private void Grid1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (Grid1.Columns[e.ColumnIndex].Name.Equals("your_Field"))
{
if (Convert.ToBoolean(e.Value) == 0) // False
{
e.CellStyle.BackColor = Color.Red;
e.CellStyle.SelectionBackColor = Color.Red;
//do whatever you want
}
}
}
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
اين دستورات كه گفتيد در كجا برنامه بايد نوشت منظورم اين است كه كدام event گريد؟
نقل قول: غیر فعال کردن یک سطر از دیتا گرید
دوستمون shahab_ss رویدادش رو هم براتون گذاشت یعنی CellFormatting