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

نام تاپیک: مقداردهی دستی یک ستون از datagridview با فرمت مشخص

  1. #1

    مقداردهی دستی یک ستون از datagridview با فرمت مشخص

    باسلام
    من تو برنامه ای که نوشتم یک گرید ویو دارم که توسط اطلاعات موجود در دیتا بیس پر میشه. میخوام علاوه بر طلاعات دیتابیس یک ستون به انتهای گرید اضافه کنم که محتویات یکی از ستونهای موجود رو با فرمت مشخص در اون نمایش بدم
    برای مثال اگر ستون 0 از گرید عدد 1 رو نمایش میده ستون آخر همین عدد رو به شکل 000001 نمایش بده.
    راه حلش چیه ؟؟

    کد من برای پر کردن دیتا گرید ویو::

    SqlConnection con = new SqlConnection(ConnectionString);
    con.Open();


    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandText = Query Text ;
    SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, con);


    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;


    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 15 مهر 1397 در 21:22 عصر

  2. #2
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: مقدار دهی دستی یک ستون از datagridview با فرمت مشخص

    با سلام
    بهتره از تابع Right خود Sql Server استفاده کنید و اصطلاحاً یک Virtual Field بسازید

    SELECT
    ID,
    FirstName,
    LastName,
    Code,
    RIGHT('00000'+CAST([Code] AS VARCHAR(6)),6) AS 'NewCodeColumn'

    FROM
    Persons
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  3. #3

    نقل قول: مقدار دهی دستی یک ستون از datagridview با فرمت مشخص

    و یک راه دیگه به صورت کلاس نویسی تو سی شارپ بنویسی و دیتاتیبل رو به صورتی که خودت میخای ایجاد کنی از اون کلاست یعنی ارایه ای از شی برگردونی و اون شی ها رو به دیتاتیبل تبدیل کنی

  4. #4

    نقل قول: مقدار دهی دستی یک ستون از datagridview با فرمت مشخص

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    با سلام
    بهتره از تابع Right خود Sql Server استفاده کنید و اصطلاحاً یک Virtual Field بسازید

    SELECT
    ID,
    FirstName,
    LastName,
    Code,
    RIGHT('00000'+CAST([Code] AS VARCHAR(6)),6) AS 'NewCodeColumn'

    FROM
    Persons
    ممنون از کمکتون ولی راهی که فرمودید فقط تا زمانی جوابگو هست که عدد مربوطه یک رقمی باشه که با اضافه کردن 5 عدد صفر به قبل از آن مشکل حل میشه ولی وقتی اعداد دو یا سه رقمی شد فرمت بهم خواهد ریخت.

  5. #5

    نقل قول: مقدار دهی دستی یک ستون از datagridview با فرمت مشخص

    سلام.
    اگر منظور شمارو درست متوجه شده باشم و بخواید نتیجه ای مثل این عکس داشته باشید:

    Capture.PNG

    باید DefaultCellStyle رو در Column مورد نظر به صورت زیر تغییر بدید

    dataGridView1.Columns[3].DefaultCellStyle.Format = "0000";


    و در خاظیت RowAdded این خط کد رو بزنید. (این کد با توجه به نیاز شما میتونه تغییر کنه

    dataGridView1.Rows[e.RowIndex].Cells[3].Value = dataGridView1.Rows[e.RowIndex].Cells[0].Value;

  6. #6

    نقل قول: مقدار دهی دستی یک ستون از datagridview با فرمت مشخص

    نقل قول نوشته شده توسط mehdiyahyavi مشاهده تاپیک
    سلام.
    اگر منظور شمارو درست متوجه شده باشم و بخواید نتیجه ای مثل این عکس داشته باشید:

    Capture.PNG

    باید DefaultCellStyle رو در Column مورد نظر به صورت زیر تغییر بدید

    dataGridView1.Columns[3].DefaultCellStyle.Format = "0000";


    و در خاظیت RowAdded این خط کد رو بزنید. (این کد با توجه به نیاز شما میتونه تغییر کنه

    dataGridView1.Rows[e.RowIndex].Cells[3].Value = dataGridView1.Rows[e.RowIndex].Cells[0].Value;
    ممنون از پاسختون فکر میکنم راه حل همین باشه که فرمودید. ولی الان دو تا مشکل هست .اول اینکه کدی که در قسمت خاصیت RowAdded اضافه کردم فقط برای دو خط اول از گریدم اجرا میشه و در بقیه خطوط اجرا نمیشه
    و مشکل بعدی اینه که من تنظیم فرمت Column رو بلافاصله بعد از تنظیم DataSource برای دیتا گرید قرار دادم که متاسفانه کار نمیکنه.

    cmd.CommandText = SS;
    SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, con);


    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;
    dataGridView1.Columns[8].DefaultCellStyle.Format = "000000";
    آخرین ویرایش به وسیله __MAHNAZ__ : چهارشنبه 25 مهر 1397 در 11:36 صبح

  7. #7

    نقل قول: مقداردهی دستی یک ستون از datagridview با فرمت مشخص

    سلام.
    تنظیم فرمت ستون رو بعد از InitializeComponent باید انجام بدید.
    و اینکه وقتی شما می خواهید همچین عملیاتی رو روی ستون 9 که ایندکس 8 میشه انجام بدید، نباید اون رو با دیتایی که از دیتابیس میگیرید پر کنید.
    اینکه در بقیه خطوط اجرا نمیشه، خطا میده یا null و یا چیز دیگه ؟
    برای فهمیدن بهتره از Break Point روی همون خط ببینید چه اتفاقی می افته

  8. #8

    نقل قول: مقداردهی دستی یک ستون از datagridview با فرمت مشخص

    نقل قول نوشته شده توسط mehdiyahyavi مشاهده تاپیک
    سلام.
    تنظیم فرمت ستون رو بعد از InitializeComponent باید انجام بدید.
    و اینکه وقتی شما می خواهید همچین عملیاتی رو روی ستون 9 که ایندکس 8 میشه انجام بدید، نباید اون رو با دیتایی که از دیتابیس میگیرید پر کنید.
    اینکه در بقیه خطوط اجرا نمیشه، خطا میده یا null و یا چیز دیگه ؟
    برای فهمیدن بهتره از Break Point روی همون خط ببینید چه اتفاقی می افته
    Break Point رو روی همون خط کد نوشته شده در RowAdded قرار دادم . تو دو خط اول اجرا شد و بعد از اون وارد اون کد نشد. هیچ پیغام خطایی هم نمیده.
    در مورد پر نکردن یک ستون از دیتا بیس هم وقتی DataSource در دیتا گرید ویو مقدار دهی میکنیم دیگه اجازه تغییرات و اضافه کردن ستون رو نداریم.

تاپیک های مشابه

  1. نام گذاری و تغییر سایز ستون های Datagridview به صورت دستی
    نوشته شده توسط rezaei manesh در بخش VB.NET
    پاسخ: 14
    آخرین پست: دوشنبه 18 اسفند 1399, 11:43 صبح
  2. پاسخ: 1
    آخرین پست: یک شنبه 11 اردیبهشت 1390, 07:42 صبح
  3. سوال: حذف دستی از DatagridView
    نوشته شده توسط Mohammad6767 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 25 آذر 1388, 10:41 صبح
  4. سوال: ایجاد یک ستون که یک دکمه رو نمایش بده در datagridview
    نوشته شده توسط alimanam در بخش VB.NET
    پاسخ: 6
    آخرین پست: سه شنبه 04 فروردین 1388, 20:45 عصر
  5. bind کردن دستی یک ستون DataGrid
    نوشته شده توسط zrahimic در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: دوشنبه 14 دی 1383, 10:16 صبح

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

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