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

نام تاپیک: درج شماره ردیف خودکار datagridview

  1. #1
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    درج شماره ردیف خودکار datagridview

    با سلام
    چطور میتونم زمان لود دیتاگرید (از سمت راست اولین ستون) یک ستون به نام ردیف داشته باشم که از شماره 1 شروع بشه و تمام سطرهای دیتاگرید رو بطور خودکار شماره گذاری کنه و با حذف یک ردیف از دیتاگرید ترتیب شماره ها به هم نخوره و سرعت برنامه هم کم نشه؟

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

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

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

  3. #3
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

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

    نقل قول نوشته شده توسط Tiam121 مشاهده تاپیک
    اول یه ستون جدید رو دستی به گرید اضافه کن
    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
    dataGridView1.Rows[e.RowIndex].Cells[0].Value = e.RowIndex + 1;
    }
    سلام دوست عزیز
    با این کار برنامه قفل میکنه تا 2 دقیقه صبر کردم هیچ اتفاقی نیفتاد
    برنامه بنده حین لود شدن فرم اصلی, دیتاگرید رو با یک جدول از دیتا ست پر میکنه
    اضافه کردن ستون به صورت دستی هم با عث حذف یک ستون از دیتاگرید لود شده میشود.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

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

    با اجازه اساتید:
    dataGridView1.Rows[e.RowIndex].Cells[0].Value = (e.RowIndex + 1).ToString();

    اینجوری قشنگ جواب میده!

  5. #5
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

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

    نقل قول نوشته شده توسط ashkan1234 مشاهده تاپیک
    با اجازه اساتید:
    dataGridView1.Rows[e.RowIndex].Cells[0].Value = (e.RowIndex + 1).ToString();

    اینجوری قشنگ جواب میده!
    دیتاگرید برنامه من 950 ردیف دارد, با اضافه کردن این کد زمان لود برنامه از 4 ثانیه به 3 دقیقه افزایش یافت!!

  6. #6
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    https://gardesh-gar.ir
    پست
    527

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

    نقل قول نوشته شده توسط momimomi مشاهده تاپیک
    دیتاگرید برنامه من 950 ردیف دارد, با اضافه کردن این کد زمان لود برنامه از 4 ثانیه به 3 دقیقه افزایش یافت!!
    خوب اینجوری که شما میخوایید این مشکلات رو به همراه داره!
    اگه سرعت براتون مهمه،حتما و حتما ردیف را در دیتا بیس ایجاد نمایید!
    البته بنده تا این حد اطلاعات دارم!
    شاید اساتید راه بهتری هم داشته باشند...
    موفق باشید!

  7. #7

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

    اگه سرعت براتون مهمه،حتما و حتما ردیف را در دیتا بیس ایجاد نمایید!
    خب اینم یه راهه که میشه با تابع rownumber توی سلکتت شماره ردیف رو بیاری اما یه نقص دار0 اونم اینه که اگه گردیت رو سورت کنی ترتیب ردیف بهم می خوره

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

    در حال حاضر کامپوننت هایی وجود دارن که این کارو به صورت بهینه انجام دادن و بد نیست از اونها استفاده کنی

  8. #8

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

    http://msdn.microsoft.com/en-us/library/15a31akc.aspx
    ببینین این virtual mod برا چی هست
    یع ربطی به سرعت داره

  9. #9

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

    همین کدو در رویداد مناسب بنویسید تا بهینه تر عمل کنه.tostring هم نیازی نیست.

    private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
    {
    dataGridView1.Rows[e.RowIndex].Cells[0].Value = e.RowIndex + 1;
    }

  10. #10
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

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

    ببین بهترین روش اینه تو خود سلکت از دیتابیس ردیف رو بندازی

  11. #11

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

    من برا گزاشتن ردیف این کارو میکنم
    اول با تابع Row_Number شماره ردیفو با همون دستور از sql میگیرم و داخل دیتاتیبل میریزم و برابر با datasource دیتاگرید ویو میکنم

    برا اینکه وقع sort مشکلی پیش نیاد هم تو رویداد dgv_sorted اینو میزارم

    for(i=0;i<((datagridview)sender).Rows.Count;i++)
    ((datagridview)sender)[0,i].value = i + 1;


    اطلاعات من تقریبا 4000 رکورد میشه
    سرعتشم خوبه به 2 ثانیه نمیرسه

  12. #12

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

    به Select تون رو RowNumber() ر اضافه کنید. موقع درج و حذف خودتون باید مدیریت کنید. یعنی با حذف Renumber و با درج خودتون شماره جدید رو بدید و باید ReadOnly باشه.

    SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3 FROM User

  13. #13
    کاربر دائمی آواتار HAMRAHSOFT.IR
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    هرجا كه غم و ناراحتي باشه
    پست
    1,174

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

    سلام ببخسید برای گرید شرکت telerik مثل عکس زیر که مال گرید جانوس هست ردیف ایجاد کرد

    Untitled.jpg

  14. #14
    کاربر دائمی آواتار HAMRAHSOFT.IR
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    هرجا كه غم و ناراحتي باشه
    پست
    1,174

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

    نقل قول نوشته شده توسط HAMRAHSOFT.IR مشاهده تاپیک
    سلام ببخسید برای گرید شرکت telerik مثل عکس زیر که مال گرید جانوس هست ردیف ایجاد کرد

    Untitled.jpg
    دوستان کسی با تلریک کار نکرده

  15. #15
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    39
    پست
    1,104

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

    تو فروم خودشون سوالتو بپرس حتما جواب میدن

  16. #16

    نقل قول: درج شماره ردیف خودکار datagridview

    سلام اعضای گروه
    ببخشید من یک DataGridView دارم که اطلاعات دو جدول را با استفاده از دستور UNION ALL توی آن نمایش می دهم ولی می خواهم یک ستون برای شماره ردیف در آن ایجاد کنم که به ترتیب از عدد 1 شروع بشه تا آخر.
    اگر راهنمای کنید که چطور این کار را انجام دهم ممنوم میشم!

  17. #17

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

    دوست عزیز
    می شود تابع ROW_NUMBER() را همراه با دستور UNION ALL برای استخراج اطلاعات دو جدول استفاده کرد؟
    اگر امکان دارد دستورش را بنویسید. دستوری که بند استفاده می کنم به این صورت است:

    SELECT HelperName, Mablagh, Arz, DateHelp FROM TBLHelps
    UNION ALL
    SELECT OzvName, Mablagh, Arz, DatePardakht FROM TBLHaqOzviat WHERE Pardakht=true
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 25 تیر 1395 در 09:53 صبح

  18. #18
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    نقل قول: درج شماره ردیف خودکار datagridview

    کد زیر رو توی رویداد لود فرم بنویس:

    int rownumber = 1;
    foreach (DataGridViewRow row in dgv.Rows)
    {
    if (row.IsNewRow) continue;
    row.HeaderCell.Value = rownumber.ToString();
    rownumber = rownumber + 1;
    }


    dgv= نام دیتاگرید شماست
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 10 تیر 1395 در 23:16 عصر

  19. #19
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    خرداد 1391
    پست
    337

    نقل قول: درج شماره ردیف خودکار datagridview

    نقل قول نوشته شده توسط momimomi مشاهده تاپیک
    با سلام
    چطور میتونم زمان لود دیتاگرید (از سمت راست اولین ستون) یک ستون به نام ردیف داشته باشم که از شماره 1 شروع بشه و تمام سطرهای دیتاگرید رو بطور خودکار شماره گذاری کنه و با حذف یک ردیف از دیتاگرید ترتیب شماره ها به هم نخوره و سرعت برنامه هم کم نشه؟

    private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
    foreach (DataGridViewRow r in dataGridView1.Rows)
    {
    dataGridView1.Rows[r.Index].Cells[0].Value = String.Format("{0}", r.Index + 1);
    }
    }


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

  20. #20

    نقل قول: درج شماره ردیف خودکار datagridview


    row.HeaderCell.Value = String.Format("{0}", row.Index + 1);


    برای تغییر فونت هم :


    rowFont = grid.RowHeadersDefaultCellStyle.Font

  21. #21

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

    کاش بیشتر راهنمایی میکردید. مثلا کل کد رو اینجا قرار میدادید.

  22. #22
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    461

    نقل قول: درج شماره ردیف خودکار datagridview

    شاید این کد به شما کمک کنه

    private void myDataGridView_Load(object sender, EventArgs e)
    {
    // اضافه کردن ستون جدید به دیتاگرید
    DataGridViewColumn column = new DataGridViewTextBoxColumn();
    column.Name = "ردیف";
    column.HeaderText = "ردیف";
    column.Width = 50;
    myDataGridView.Columns.Insert(0, column);


    // شماره گذاری خودکار سطرها
    for (int i = 0; i < myDataGridView.Rows.Count; i++)
    {
    myDataGridView.Rows[i].Cells[0].Value = (i + 1).ToString();
    }
    }


    private void myDataGridView_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
    // بررسی می کنیم که آیا سطر دیتاگرید حذف شده است یا خیر
    if (e.RowIndex >= 0)
    {
    // به روز رسانی شماره گذاری سطرها بعد از حذف یک سطر
    for (int i = e.RowIndex; i < myDataGridView.Rows.Count; i++)
    {
    myDataGridView.Rows[i].Cells[0].Value = (i + 1).ToString();
    }
    }
    }


    برای کاهش زمان لود، می توانید از رویه هایی مانند لود کردن داده ها به صورت تکه تکه و به صورت ناهمزمان استفاده کنید. به عنوان مثال، می توانید داده های دیتاگرید را به صورت ناهمزمان در حین بارگذاری فرم با استفاده از یک نخ جداگانه بارگیری کنید، به جای بارگذاری همه داده ها به صورت همزمان. همچنین، می توانید تعداد ستون‌های دیتاگرید را کاهش دهید و فقط ستون‌هایی را که برای کاربر لازم است نمایش دهید.
    آخرین ویرایش به وسیله پرستو پارسایی : پنج شنبه 14 اردیبهشت 1402 در 18:29 عصر

  23. #23
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    461

    نقل قول: درج شماره ردیف خودکار datagridview

    نقل قول نوشته شده توسط Eqbali مشاهده تاپیک
    سلام اعضای گروه
    ببخشید من یک DataGridView دارم که اطلاعات دو جدول را با استفاده از دستور UNION ALL توی آن نمایش می دهم ولی می خواهم یک ستون برای شماره ردیف در آن ایجاد کنم که به ترتیب از عدد 1 شروع بشه تا آخر.
    اگر راهنمای کنید که چطور این کار را انجام دهم ممنوم میشم!


    private void Form1_Load(object sender, EventArgs e){
    // ایجاد دیتاست و اضافه کردن جدول ها به آن
    DataSet dataSet = new DataSet();
    DataTable dataTable1 = new DataTable("Table1");
    DataTable dataTable2 = new DataTable("Table2");


    // افزودن ستون ها به جدول ها
    dataTable1.Columns.Add("ID");
    dataTable1.Columns.Add("Name");
    dataTable2.Columns.Add("ID");
    dataTable2.Columns.Add("Name");


    // افزودن داده ها به جدول ها
    dataTable1.Rows.Add(1, "John");
    dataTable1.Rows.Add(2, "Alice");
    dataTable2.Rows.Add(3, "Bob");
    dataTable2.Rows.Add(4, "Emily");


    // اضافه کردن جدول ها به دیتاست
    dataSet.Tables.Add(dataTable1);
    dataSet.Tables.Add(dataTable2);


    // ایجاد دستور SQL برای ادغام دو جدول با استفاده از UNION ALL
    string sql = "SELECT *, ROW_NUMBER() OVER(ORDER BY ID) AS RowNumber FROM (SELECT ID, Name FROM Table1 UNION ALL SELECT ID, Name FROM Table2) AS UnionTable";


    // ایجاد یک adapter برای اجرای دستور SQL و پر کردن داده ها در دیتاگرید
    SqlDataAdapter adapter = new SqlDataAdapter(sql, "connectionString");
    DataTable resultTable = new DataTable();
    adapter.Fill(resultTable);


    // ایجاد ستون جدید برای شماره ردیف
    DataGridViewColumn column = new DataGridViewTextBoxColumn();
    column.HeaderText = "شماره ردیف";
    column.Width = 100;
    dataGridView1.Columns.Insert(0, column);


    // نمایش داده ها در دیتاگرید و تنظیم شماره ردیف
    dataGridView1.DataSource = resultTable;
    }


    private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
    {
    // نمایش شماره ردیف در ستون جدید
    dataGridView1.Rows[e.RowIndex].Cells[0].Value = (e.RowIndex + 1).ToString();
    }

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

  1. شماره ردیف در datagridview
    نوشته شده توسط Easy_Systems در بخش VB.NET
    پاسخ: 3
    آخرین پست: جمعه 19 دی 1393, 01:05 صبح
  2. درج شماره ردیف در DataReport
    نوشته شده توسط vahidm در بخش برنامه نویسی در 6 VB
    پاسخ: 7
    آخرین پست: چهارشنبه 02 آبان 1386, 13:17 عصر
  3. شماره ردیف در datagridview
    نوشته شده توسط alirzn در بخش C#‎‎
    پاسخ: 16
    آخرین پست: پنج شنبه 19 مهر 1386, 08:05 صبح
  4. درج شماره بصورت خودکار
    نوشته شده توسط Ali_Fallah در بخش Access
    پاسخ: 5
    آخرین پست: پنج شنبه 18 خرداد 1385, 20:57 عصر
  5. درج شماره ردیف در گزارش گیری توسط datareport
    نوشته شده توسط نعیم رضاییان در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: چهارشنبه 11 خرداد 1384, 12:40 عصر

برچسب های این تاپیک

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

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