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

نام تاپیک: راست كليك بر روي dataGridView

  1. #1
    کاربر دائمی آواتار h_r_sh
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شيراز
    پست
    258

    راست كليك بر روي dataGridView

    با سلام.

    چطور ميشه با كليك راست موس روي DataGridView، سطري رو كه روش راست كليك شده انتخاب كرد؟

  2. #2
    کاربر دائمی آواتار shahab_ss
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    bangkok
    سن
    43
    پست
    434

    نقل قول: راست كليك بر روي dataGridView

    private void GridV1_MouseDown(object sender, MouseEventArgs e)
    {
    DataGridView.HitTestInfo hitTestInfo;
    if (e.Button == MouseButtons.Right)
    {
    hitTestInfo = GridV1.HitTest(e.X, e.Y);
    if (hitTestInfo.Type == DataGridViewHitTestType.Cell)
    {
    GridV1.Rows[hitTestInfo.RowIndex].Selected = true;
    }
    }
    }

  3. #3
    کاربر دائمی آواتار h_r_sh
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شيراز
    پست
    258

    نقل قول: راست كليك بر روي dataGridView

    نقل قول نوشته شده توسط shahab_ss مشاهده تاپیک
    private void GridV1_MouseDown(object sender, MouseEventArgs e)
    {
    DataGridView.HitTestInfo hitTestInfo;
    if (e.Button == MouseButtons.Right)
    {
    hitTestInfo = GridV1.HitTest(e.X, e.Y);
    if (hitTestInfo.Type == DataGridViewHitTestType.Cell)
    {
    GridV1.Rows[hitTestInfo.RowIndex].Selected = true;
    }
    }
    }
    با تشكر از توجه شما. با اين روش اگر چند بار بر روي grid راست كليك شود انتخابهاي قبلي پاك نمي شود.

  4. #4
    کاربر دائمی آواتار shahab_ss
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    bangkok
    سن
    43
    پست
    434

    نقل قول: راست كليك بر روي dataGridView

    من تست نکردم اما شما زحمتش رو بکش به من هم خبر بده
    قبل از انتخاب سطر این کد رو استفاده کنید
    GridView.SelectedIndex= null;

  5. #5

    نقل قول: راست كليك بر روي dataGridView

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

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

    نقل قول: راست كليك بر روي dataGridView

    datagridview.curentcell باید جواب بده

  7. #7
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: راست كليك بر روي dataGridView

    نقل قول نوشته شده توسط h_r_sh مشاهده تاپیک
    با سلام.

    چطور ميشه با كليك راست موس روي DataGridView، سطري رو كه روش راست كليك شده انتخاب كرد؟
    سلام عزیز، وقتی داری DataGridView رو پر می کنی مثلا همانند دستورات زیر بیا از BindingSource استفاده کن:
    BindingSource Bs = new BindingSource();
    Bs.DataSource = SqlCommand("SELECT * FROM Table_Name");
    DataGridView1.DataSource = Bs;

    البته خدمت سروران عزیز عرض کنم تابع SqlCommand که پارامتر ورودی اون یک دستور SQL است،دست سازه و کارش اینه که دستور SQL رو میگیره و خروجی یک DataTable برمی گردونه.
    اینم بگم BindingSource که تعریف میکنید باید سراسری باشه. حالا تو رویداد MouseDown گریدویو تابع زیر رو بنویسد:
    private void SelectRow(object sender, MouseEventArgs e)
    {
    try
    {
    Bs.Position = DataGridView1.HitTest(e.X, e.Y).RowIndex;
    }
    catch { }
    }

    بعدش یه ContextMenuStrip تعریف کنید هرچی منو دارید توش بذارید و در پارامتر ContextMenuStrip گریدویو اسم همین منو رو قرار بدهید. اگه خواستید که در صورت خالی بودن گریدویو منو باز نشه یا غیر فعال بشه یا هر کاری برید این بلا رو روی ContextMenuStrip در بیارید. که اینم اینجوریه که تو رویداد Opening منو این کد رو می نویسید:(من یه ContextMenuStrip با نام Menu تعریف کردم و داخلش منوهای مختلف گذاشتم.)
    private void CheckIsRow(object sender, CancelEventArgs e)
    {
    try
    {
    if (DataGridView1.Rows.Count <= 0)
    Menu.Enabled = false;
    else
    {
    Menu.Enabled = true;
    if (Convert.ToInt32(DataGridView1.CurrentRow.Cells["DgStatus"].Value)==1)
    {
    StatusTSM.Image = Properties.Resources.status_busy;
    }
    else if (Convert.ToInt32(DataGridView1.CurrentRow.Cells["DgStatus"].Value) == 0)
    {
    StatusTSM.Image = Properties.Resources.status_Nobusy;
    }
    }
    }
    catch { }
    }


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

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