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

نام تاپیک: تولید شماره ردیف در دیتاگرید ویو

  1. #1

    تولید شماره ردیف در دیتاگرید ویو

    سلام
    من توی دیتا گرید ویو یه ستون به نام ردیف دارم که قراره وقتی فرم لود میشه ، به ازای نام هر فردی که در دیتاگرید ویو میاد ، شماره ردیف داشته باشه(و مقدار این ستون از بانک نمیاد)(من میخوام بوسیله سی شارپ شماره های ردیف رو تولید کنم )
    مثلا اولین نفر ، ردیف شماره 1 باشه ، دومی ردیف شماره 2 و ....
    کسی میدونه چطوری ؟

  2. #2
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    سلام به دیتاتیبل یک ستون دستی اضاف کنید و مقدار دهی کنید با یک حلقه.

  3. #3
    کاربر دائمی آواتار asefy2008
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    سن
    36
    پست
    729

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    سلام این رو ببین.
    البته شما که نمی خوای از دیتابیس استفاده کنی مشکل داخل اون تاپیک برات پیش نمیاد. همچین اگر شماره هر سطر رو در rowheader قرار بدی بهتر هست

  4. #4

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    اگه بخای خودت تولید کنی باید همین که ریکی گفت رو انجام بدی وگرنه میتونی تو بانکت ردیف رو datatypesh رو autonumber کنی و بعد وقتی برنامه رو اجرا کردی یکی یکی اضافه میشه به ردیفت اما اگه بخای پاکنی مثلا ردیف 3 رو دیگه دفعه بعد برنامه رو اجرا کردی دیگه بعد از ردیف 2 ردیف 4 هست و 3 دیگه نداری .

  5. #5

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    سلام
    تو CellFormatting گریدت این رو بنویس
    dataGridView1.Rows[e.RowIndex].Cells[0].Value = e.RowIndex + 1;






  6. #6

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    تشکر بابت لطف دوستان
    ببینین من دقیقا این کد رو به برنامم اضافه کردم
    ولی هیچ کاری انجام نداد
    اشکال کارم کجاست ؟
    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
    dataGridView1.Rows[e.RowIndex].Cells[0].Value = e.RowIndex + 1 ;
    {

  7. #7
    کاربر دائمی آواتار s.khoshfekran
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    503

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    یه ستون اضافه کن و خاصیت AutoIncreament رو برابر True قرار بده!
    http://www.c-sharpcorner.com/UploadF...Datatable.aspx

  8. #8
    کاربر دائمی آواتار asefy2008
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    سن
    36
    پست
    729

    نقل قول: تولید شماره ردیف در دیتاگرید ویو


    private
    void DataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
    DataGridView.Rows[e.RowIndex].HeaderCell.Value = (e.RowIndex + 1).ToString();
    }



  9. #9

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    نقل قول نوشته شده توسط mahnaz20 مشاهده تاپیک
    سلام
    من توی دیتا گرید ویو یه ستون به نام ردیف دارم که قراره وقتی فرم لود میشه ، به ازای نام هر فردی که در دیتاگرید ویو میاد ، شماره ردیف داشته باشه(و مقدار این ستون از بانک نمیاد)(من میخوام بوسیله سی شارپ شماره های ردیف رو تولید کنم )
    مثلا اولین نفر ، ردیف شماره 1 باشه ، دومی ردیف شماره 2 و ....
    کسی میدونه چطوری ؟
    من سوال و مطالبی که دوستان گفتند رو خوندم

    - اینکه ما یک ردیف به گرید اضافه کنیم فقط به خاطر شمارش سطر ها کار جالبی نیست!
    - اینکه یک فیلد AutoNumber دیتابیس رو نمایش بدیم اصلا خوب نیست به فرض بخوای اطلاعات گرید رو فیلتر کنی اونوقت شمارهات به هم میریزه ...

    راه حلی که من به نظرم درسته اینه که از Header هر سطر استفاده بشه و شماره در هدر نوشته بشه من کلاس زیر رو در پروژم مینویسم :


    public void AutoNumberDataGridRows(DataGridView dgv)
    {
    int rowNumber = 1;
    foreach (DataGridViewRow row in dgv.Rows)
    {
    if (row.IsNewRow) continue;
    row.HeaderCell.Value = rowNumber.ToString();
    rowNumber = rowNumber + 1;
    }
    }


    و این کلاس رو در EVENT مورد نظرم صدا میزنم مثلا میتونید در زمان بایند اطلاعات به گرید شماره گزاری رو هم با کد زیر انجام بدید :


    this.AutoNumberDataGridRows(dataGridViewSpesific1) ;


    سوالی اگر بود در خدمتم ...

  10. #10
    کاربر دائمی آواتار asefy2008
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    سن
    36
    پست
    729

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    نقل قول نوشته شده توسط ostovarit مشاهده تاپیک
    من سوال و مطالبی که دوستان گفتند رو خوندم

    - اینکه ما یک ردیف به گرید اضافه کنیم فقط به خاطر شمارش سطر ها کار جالبی نیست!
    - اینکه یک فیلد AutoNumber دیتابیس رو نمایش بدیم اصلا خوب نیست به فرض بخوای اطلاعات گرید رو فیلتر کنی اونوقت شمارهات به هم میریزه ...

    راه حلی که من به نظرم درسته اینه که از Header هر سطر استفاده بشه و شماره در هدر نوشته بشه من کلاس زیر رو در پروژم مینویسم :


    public void AutoNumberDataGridRows(DataGridView dgv)
    {
    int rowNumber = 1;
    foreach (DataGridViewRow row in dgv.Rows)
    {
    if (row.IsNewRow) continue;
    row.HeaderCell.Value = rowNumber.ToString();
    rowNumber = rowNumber + 1;
    }
    }


    و این کلاس رو در EVENT مورد نظرم صدا میزنم مثلا میتونید در زمان بایند اطلاعات به گرید شماره گزاری رو هم با کد زیر انجام بدید :


    this.AutoNumberDataGridRows(dataGridViewSpesific1) ;


    سوالی اگر بود در خدمتم ...
    دوست عزیز از کدی که من تو پست 8 گذاشتم استفاده کن احتیاج به این همه کدنویسی هم نیست در ضمن معلوم میشه پست ها رو خوب نخوندی(
    موفق باشی

  11. #11

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

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

  12. #12

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    نقل قول نوشته شده توسط asefy2008 مشاهده تاپیک
    دوست عزیز از کدی که من تو پست 8 گذاشتم استفاده کن احتیاج به این همه کدنویسی هم نیست در ضمن معلوم میشه پست ها رو خوب نخوندی(
    موفق باشی
    من کد شما رو مجدد تست کردم و به مشکل بر خوردم وقتی از روشی که شما گفتید استفاده کنیم و گرید ویو تعداد ستون های زیادی داشته باشد به طوری که اسکرول بخوره ... شماره گذاری گرید پشت سر هم و تکرار شماره گذاری به صورت بینهایت انجام میگیره! و چون ردیف ها پشت سر هم شماره گذاری میشوند (در تعداد بالا) اعداد با سرعت بالا ظاهر و محو میشوند ... من در چندین فرم کلاسی که نوشته بودم رو پاک کردم و کد شما رو جایگزین کردم اما جواب نداد.
    در ایونت های دیگه هم تست کردم ولی همچنان مشکل پابرجاست ... و باز دوباره کد خودم رو جایگزین کردم! ...

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شیراز
    سن
    37
    پست
    135

    نقل قول: تولید شماره ردیف در دیتاگرید ویو


    privateDataTable AutoNumberedTable(DataTable SourceTable)
    {
    DataTable ResultTable = newDataTable();
    DataColumn AutoNumberColumn = newDataColumn();
    AutoNumberColumn.ColumnName="S.No.";
    AutoNumberColumn.DataType = typeof(int);
    AutoNumberColumn.AutoIncrement = true;
    AutoNumberColumn.AutoIncrementSeed = 1;
    AutoNumberColumn.AutoIncrementStep = 1;
    ResultTable.Columns.Add(AutoNumberColumn);
    ResultTable.Merge(SourceTable);
    return ResultTable;
    }




  14. #14

    نقل قول: تولید شماره ردیف در دیتاگرید ویو

    سلام
    من فکر کنم اگر ماکزیمم اعداد ستون رو پیدا کنیم و + 1 کنیم درست بشه
    select max (field name) from tablename
    آخرین ویرایش به وسیله ho.yasreby : جمعه 06 بهمن 1391 در 15:57 عصر

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

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