PDA

View Full Version : سوال: جلوگیری از تغییر فاصله سطرها در DataGriedView پس از sort کردن



sahel65
دوشنبه 31 تیر 1392, 13:05 عصر
سلام دوستان،وقتتون بخیر
من یک dataGridView از طریق کد نویسی ایجاد کردم. فاصله بین خطها رو هم اینجوری تعیین کردم تا از حالت پیش فرض دربیاد و شکیل تر بشه:



foreach (DataGridViewRow row in dg.Rows)
{
row.Height = 35; // or any :)
}


حالا اگه کاربر بیاد و یکی از ستونها رو بخواد مرتبشون کنه، مجددا سایز سطرها به همون سایز پیش فرض کاهش پیدا کرده و ظاهرش جالب نمیشه.
زیاد جستجو کردم و چند تا کد مثل زیر هم پیدا کردم ولی جواب نداد؛ ممنون میشم اگه راه حلی داره بهم بگید.

// dg.RowHeightChanged = DataGridViewRowHeadersWidthSizeMode.DisableResizin g;
// dg.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
//dg.AutoResizeRow = DataGridViewAutoSizeRowsMode.AllCells;
// dg.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

saied_hacker
دوشنبه 31 تیر 1392, 13:37 عصر
می تونی از لیست event ها sort رو انتخاب کنی و کد بالا رو مجدد توش کپی کنی اما فکر کنم این باعث پایی اومدن سرعت بشه بخص.ص اگه تعداد ردیف هات زیاد باشه ...

sahel65
دوشنبه 31 تیر 1392, 14:16 عصر
ممنونم سعید جان؛ اتفاقا این راه به فکر خودم رسیده بود که بیام و فورا بعد از سورت کردن این کد رو بذارم ولی خب به قول شما فکر نکنم این راه اصولی باشه؛ یعنی راه حلی نداره؟ بنظر نمیاد بغرنج باشه.

reza_mostafavi63
دوشنبه 31 تیر 1392, 15:04 عصر
اینطوری کن درست میشه
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'database1DataSet.Table1' table. You can move, or remove it, as needed.
this.table1TableAdapter.Fill(this.database1DataSet .Table1);

foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Height = 50; // or any :)
}
dataGridView1.RowTemplate.Height = 50;


}