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

نام تاپیک: DataGridViewComboBoxCell

  1. #1

    DataGridViewComboBoxCell

    سلام
    من تو یه DataGridView چند تا Column از نوع ComboBox دارم
    و از DB اونها رو bind کردم
    مشکل اینجاست که میخوام وقتی کاربر وارد این cell ها میشه ComboBox ها باز بشن
    یعنی نیازی به mouse نباشه

    کسی میدونه چیکار باید بکنم؟

  2. #2

    نقل قول: DataGridViewComboBoxCell

    در واقع دنبال یه خاصیتی تو dataGridView
    هستم که مثه خاصیت DroppedDown
    تو ComboBox
    کار کنه

    کارم خیلی فوریه
    کمکم کنید

  3. #3

    نقل قول: DataGridViewComboBoxCell

    من چقد بد شانسم:D
    حداقل بگید چطوری تو رویداد KeyPress
    برای یه DataGridView
    بگم همون رفتاری رو داشته باشه که وقتی F4 رو میزنه داره
    :((

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    گلستان
    پست
    191

    نقل قول: DataGridViewComboBoxCell

    سلام .

    ناامیدی ، اونم به این زودی ؟؟؟؟؟؟؟؟؟؟؟؟

    سئوال اول :

    private
    void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
    {
    if (e.ColumnIndex == 1)
    {
    dataGridView1.BeginEdit(
    true);
    ComboBox comboBox = (ComboBox)dataGridView1.EditingControl;
    comboBox.DroppedDown =
    true;
    }
    }


    سئوال دوم :

    private
    void dataGridView1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.F4)
    MessageBox.Show("F4 Pressed");
    }


    موفق باشید.

  5. #5

    نقل قول: DataGridViewComboBoxCell

    الان ساعت 12 شبه و من هنوز سر کارم :(
    الان یه مشکل دیگه ایجاد شده

    من تو یه دیتا گرید ویو 5 تا ستون دارم که 2تای آخریش از نوع ComboBoxCell هستند و با Enter بین ستون ها میشه حرکت کرد

    تا قبل از این میخواستم وقتی وارد این ستون ها میشم ComboBox ها باز بشن
    الان با کدی که دوستان بالا ارائه کردن اینکار رو میکنم ولی بعدش وقتی Enter رو میزنم دیگه رویداد KeyDown اجرا نمیشه و بهمین خاطر از ستون آخر میپره
    :)
    :(

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    گلستان
    پست
    191

    نقل قول: DataGridViewComboBoxCell

    سلام .

    رویداد keyDown رو حذف و این کد رو جایگزین کنید:


    protected
    overridebool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
    {
    if (msg.WParam.ToInt32() == (int)Keys.Enter)
    {
    SendKeys.Send("{Tab}");
    returntrue;
    }
    elseif (msg.WParam.ToInt32() == (int)Keys.F4)
    {
    MessageBox.Show("f4 pressed");
    returntrue;
    }
    returnbase.ProcessCmdKey(ref msg, keyData);
    }


    موفق باشید.

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

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