PDA

View Full Version : سوال: خطا در عدم نمایش مقدارهای کوچک تر از یک عدد در دیتاگریدویو ...



ghasem110deh
پنج شنبه 07 اسفند 1393, 12:09 عصر
سلام به همه ...
من از این کد استفاده می کنم که توی دیتاگریدویو ، سطرهایی که مقدار (خانه 5 گریدویو) از 100000 کوچکتر هستند نمایش داده نشه ؛
ولی خطا میده !


private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
// if (Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString()) >= 100000)
// dataGridView1.Rows[e.RowIndex].Cells[5].Style.BackColor = Color.LightGreen;


if (this.dataGridView1.Rows.Count > 0)
{
for (int rowCounter = 0; rowCounter < this.dataGridView1.Rows.Count; rowCounter++)
{
if (Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString()) <= 100000)
{
this.dataGridView1.Rows[rowCounter].Visible = false;
}
}
}


}

Mahmoud.Afrad
پنج شنبه 07 اسفند 1393, 15:35 عصر
انجام محاسبات برای تمام ردیفها در رویدادی مثل CellFormatting کار درستی نیست. به جاش از رویدادهای RowAdded و رویداد مربوط به ویرایش سلول کمک بگیرید.
میتونی منبع داده ای رو که به دیتاگرید نسبت دادی فیلتر کنی (دیتاست یا لیستی از اشیاء)

ghasem110deh
جمعه 08 اسفند 1393, 11:07 صبح
انجام محاسبات برای تمام ردیفها در رویدادی مثل CellFormatting کار درستی نیست. به جاش از رویدادهای RowAdded و رویداد مربوط به ویرایش سلول کمک بگیرید.
میتونی منبع داده ای رو که به دیتاگرید نسبت دادی فیلتر کنی (دیتاست یا لیستی از اشیاء)

بدترین روش رو چون زودتر به ذهنمون میرسه انجام میدیم !!
با این درست شد :

SqlDataReader oldr; System.Data.DataTable Table = new System.Data.DataTable();
con.Open();
com.Connection = con;
com.CommandText = "select Mojodi from TKala where Mojodi >= 100000";
oldr = com.ExecuteReader();
Table.Load(oldr);
dataGridView1.DataSource = Table;

گفتم شاید بدرد بقیه هم بخوره :)