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

نام تاپیک: نمایش تاریخ بصورت90/12/13 در گرید

  1. #1

    نمایش تاریخ بصورت90/12/13 در گرید

    سلام دوستان عزیز
    من یه تیبل دارم که تاریخ رو بصورت 901213 ذخیره میکنم اما حالا میخام اینو توی گرید نمایش بدم ولی بصورت90/12/13 باشه. اما هرکاری میکنم نمیشه. یه dll دانلود کردم و از طریق اون میتون خاصیت سل رو تغییر به maskedcolumn بدم و از خاصیت مسک استفاده کنم اما بشرطی که توی دیتابیسم هم بصورت 90/12/13 ذخیره بشه و اگر بیام و / بردارم و توی دیتابیس بصورت901213 بریزم زمانی که بخام تو گرید اونو ببینم بازم بصورت 901213هست.
    آیا راهی داره که فقط برای نمایش 90/12/13 توی گرید باشه؟
    ممنون

  2. #2
    کاربر دائمی آواتار علیرضا حسن زاده
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تــــــــــــــــــــــــــبریز
    پست
    897

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    در قسمت Format سلول مورد نظر عبارت ##/##/## رو وارد کن

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آمل
    پست
    207

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    سلام
            private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs formatting)
    {
    if (formatting.ColumnIndex != 3)
    return;

    if (formatting.Value != null)
    {
    try
    {
    System.Text.StringBuilder dateString = new System.Text.StringBuilder();
    string theDate = formatting.Value.ToString();

    dateString.Append(theDate.Substring(0, 2));
    dateString.Append("/");
    dateString.Append(theDate.Substring(2, 2));
    dateString.Append("/");
    dateString.Append(theDate.Substring(4, 2));
    formatting.Value = dateString.ToString();
    formatting.FormattingApplied = true;
    }
    catch (FormatException)
    {
    // Set to false in case there are other handlers interested trying to
    // format this DataGridViewCellFormattingEventArgs instance.
    formatting.FormattingApplied = false;
    }
    }

    مرجع http://stackoverflow.com/questions/8...ithout-changin
    موفق باشی.

  4. #4

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    بسیار ممنون از دوستان عزیز
    من هرکاری کردم هر دو روش جواب ندادن روش اول که تنظیم فرمت بود اعمال نمیشه فکر کنم به دلیل فارسی بودن تاریخ هست ایا این درسته؟
    روش دوم هم formatting رو نمیشناسه
    ممنون میشم بیشتر راهنمایی بفرمایید.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آمل
    پست
    207

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    نقل قول نوشته شده توسط sara_t مشاهده تاپیک
    روش دوم هم formatting رو نمیشناسه
    سلام
    فقط کافیه:
            public Form7()
    {
    InitializeComponent();

    dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridVie w1_CellFormatting);
    }

    انجام بدی.
    موفق باشی.

  6. #6
    کاربر دائمی آواتار Mohsen229266
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    سن
    36
    پست
    396

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    سلام دوست عزیز تو این تایپیک (لینک تایپیک) یه نمونه برنامه هست مشکلتو حل میکنه

  7. #7

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    [QUOTE=omid_csh;1487562]سلام
    فقط کافیه:
            public Form7()
    {
    InitializeComponent();

    dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridVie w1_CellFormatting);
    }


    ممنون دوست عزیز
    اما باز فرمت رو نمیشناسه.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آمل
    پست
    207

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    سلام
    یه نمونه برنامه برات میذارم
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    کاربر دائمی
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    Kurdistan Of Iran
    پست
    106

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    نقل قول نوشته شده توسط omid_csh مشاهده تاپیک
    سلام
    یه نمونه برنامه برات میذارم
    دلیل اینکه فرمتین /##/##/## رو قبول نمیکنه اینه که نوع فیلدت datetime نیست و نمیتونی فرمت Datetime بهش بدی.

    اما چند راه داری یکیش همین کدی که دوستمون نوشته یعنی اینکه در event CellFormatting بیای و ستون مورد نظرت رو تغییر بدی مثل این

    privatevoid dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
    if (e.ColumnIndex == 1)
    e.Value = e.Value.ToString().Insert(4,
    "/").Insert(7, "/");
    }

    این کد مثلا ستون 1 رو از فرمت 13900102 به 02/01/1390 تبدیل میکنه.
    اما مشکل این روش اینه که سرعت رو کم میکنه یعنی اگه اطلاعاتت زیاد باشه ممکنه سرعتت بیاد پایین.

    یک راه دیگه اینه که تو Query که مینویسی این مقدار رو بصورتی که میخوای برگردونی.
    یعنی یک function توی Sql بنویسی و ستونت رو به اون فرمت تبدیل کنی.و توی خروجی query همون فرمتی رو برگردونی که میخوای. و اون رو به دیتاگریدت مستقیما بایند کنی.

    البته شما اگه از wpf استفاده کنی. خیلی راحت میتونی یک converter برای ستونت بنویسی و اون رو به هر فرمتی که میخوای تبدیل کنی و مستقیما بایندش کنی.


  10. #10

    نقل قول: نمایش تاریخ بصورت90/12/13 در گرید

    با تشکر
    من یه datatable دارم و از روش شما استفاده کردم و توی کوئری تاریخ رو عوض کردم اما چون توی همین دیتاتیبل سرچ و کارای دیگه هم انجام میدم درست عمل نمیکنه وبهم میریزه مجبورم از روش اخر که یه کانورتور هست استفاده کنم میشه بگید از کجا باید شروع کنم؟
    ممنون

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

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