نمایش نتایج 1 تا 8 از 8

نام تاپیک: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

  1. #1

    تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    با سلام و خسته نباشید
    در رابطه با تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو جستجو کردم معمولا گفته شده بود که به وسیله WrapMode = True این کار رو انجام بدید ...اما من میخوام ارتفاع Row بعد از اتمام تایپ با توجه به نوشته وارد شده در Cell زیاد بشه و کل اطلاعات نوشته شده قابل خواندن باشد... ممنون میشم راهنمایی کنید... با تشکر
    عکس های ضمیمه عکس های ضمیمه
    آخرین ویرایش به وسیله ostovarit : شنبه 17 اردیبهشت 1390 در 11:37 صبح

  2. #2

    نقل قول: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    سلام. خاصیت AutoSizeRowsMode گریدویو رو در حالت DataGridViewAutoSizeRowsMode.AllCells تنظیم کنید.

  3. #3

    نقل قول: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    نقل قول نوشته شده توسط ali.rezaei7 مشاهده تاپیک
    سلام. خاصیت AutoSizeRowsMode گریدویو رو در حالت DataGridViewAutoSizeRowsMode.AllCells تنظیم کنید.
    مهندس جان وقتی این موضوع رو گوگل کردم به این روش که شما گفتی برخوردم اما هر چی تست کردم نشد ... اگر میشه یک سمپل کوچولو واسم بزارید ... یا راه دیگه ای هست بفرمایید.
    با تشکر

  4. #4

    نقل قول: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    DataGridView dgv = new DataGridView();
    DataTable dt = new DataTable();

    dt.Columns.Add("Column1");

    dt.Rows.Add("1\n2\n3");
    dt.Rows.Add("1\n2");
    dt.Rows.Add("1\n2\n3\n4");

    this.Controls.Add(dgv);
    dgv.DataSource = dt;
    dgv.Columns["Column1"].DefaultCellStyle.WrapMode =
    DataGridViewTriState.True;

    dgv.AutoSizeRowsMode =
    DataGridViewAutoSizeRowsMode.AllCells;


    مشکلی بود درخدمتم.

  5. #5

    نقل قول: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    نقل قول نوشته شده توسط ali.rezaei7 مشاهده تاپیک
    DataGridView dgv = new DataGridView();
    DataTable dt = new DataTable();

    dt.Columns.Add("Column1");

    dt.Rows.Add("1\n2\n3");
    dt.Rows.Add("1\n2");
    dt.Rows.Add("1\n2\n3\n4");

    this.Controls.Add(dgv);
    dgv.DataSource = dt;
    dgv.Columns["Column1"].DefaultCellStyle.WrapMode =
    DataGridViewTriState.True;

    dgv.AutoSizeRowsMode =
    DataGridViewAutoSizeRowsMode.AllCells;


    مشکلی بود درخدمتم.
    جواب نداد مهندس ...

    من میخوام ارتفاع Row بعد از اتمام تایپ با توجه به نوشته وارد شده در Cell زیاد بشه و کل اطلاعات نوشته شده قابل خواندن باشد... این کار خیلی کار خاصی نیست حتما هستن دوستانی که این کارو کرده باشم ... ممنون میشم راهنمایی کنید... با تشکر

    پاپستی: عکسی رو در پست یک ضمیمه کردم که بهتر مطلب رو برسونه

  6. #6

    نقل قول: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    سلام ostovarit. بعد از اتمام تایپ و خروج از سلول ارتفاع Update میشه. اکه منظورتون این هست که در هنگام تایپ ارتفاع بروزرسانی بشه، باید از روش های غیر معمول استفاده کنید. چون چنین امکانی در این کنترل وجود نداره.
    تنها راهی که داره این هست که ار تابع MeasureString که عضوی از کلاس Graphic هست استفاده کنید، این تابع متنی رو در ورردی می گیره و اندازه اون رو بر میگردونه و می تونید از این طریق اندازه سطر رو تغییر بدید.

  7. #7

    نقل قول: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    نقل قول نوشته شده توسط ali.rezaei7 مشاهده تاپیک
    سلام ostovarit. بعد از اتمام تایپ و خروج از سلول ارتفاع Update میشه. اکه منظورتون این هست که در هنگام تایپ ارتفاع بروزرسانی بشه، باید از روش های غیر معمول استفاده کنید. چون چنین امکانی در این کنترل وجود نداره.
    تنها راهی که داره این هست که ار تابع MeasureString که عضوی از کلاس Graphic هست استفاده کنید، این تابع متنی رو در ورردی می گیره و اندازه اون رو بر میگردونه و می تونید از این طریق اندازه سطر رو تغییر بدید.
    دوستان اگر روشی که علی اقا گفتن رو رفتن و نتیچه گرفتن یک سمپل بزارن یا روش دیگه ای بلدن بگن ...
    رو MeasureString کار میکنم نتیجه گرفتم اینجا سمپل می زارم.
    ممنون

  8. #8

    نقل قول: تغییر ارتفاع ستون ها با توجه به اطلاعات ورودی در گرید ویو

    خوب من کد زیر رو نوشتم و نتیجه داد لطفا دوستان بهینش کنن ... در کد زیر وقتی کاراکتر ها بیشتر از 15 تا بشه \n به رشته اضافه میکنه و ارتفاع ستون رو دوبرابر میکنه ... این برای کار من اوکی بود اما میشه بهینه تر نوشت.


    private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
    if (dataGridView1[e.ColumnIndex, e.RowIndex].Value != null && dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString().Length > 15)
    {
    dataGridView1.Rows[e.RowIndex].Height = 44;
    dataGridView1[e.ColumnIndex, e.RowIndex].Value = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(0, 15) +
    "\n" + dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(15, dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString().Length - 15);
    }
    }
    آخرین ویرایش به وسیله ostovarit : سه شنبه 20 اردیبهشت 1390 در 13:48 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •