باز کردن فرم با کلیک بر روی لینکی که در گرید قرار دارد

swsehsan

Member
سلام
در گرید یک لینک قرار دادم حالا خواستم با کلیک بر روی لینک یک فرم باز بشه که نام کاربری که روی سطر انتخابی کلیک شد وارد فرم باز شده بشه
کد:
private void FrmBargozariAzmoon_Load(object sender, EventArgs e)        {
            SqlDataAdapter da2 = new SqlDataAdapter("SelectAllGroup", con);
            da2.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt2 = new DataTable();
            da2.Fill(dt2);
           




            SqlDataAdapter da = new SqlDataAdapter("SelectUserForExam", con);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            Cmb.DataSource = dt2;
            Cmb.DisplayMember = "GroupName";
            Cmb.ValueMember = "GroupId";
                      
          
        




            
        }


        
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex==5)
            {
                FrmPayam fpayam = new FrmPayam();
                fpayam.ShowDialog();
            }
        }

در قسمت content click ایندکس مربوطه به ستونی که لینک داخل آن قرار دارد را نوشتم ولی عمل نمیکنه
سپاس
 

the_king

مدیرکل انجمن
سلام
در گرید یک لینک قرار دادم حالا خواستم با کلیک بر روی لینک یک فرم باز بشه که نام کاربری که روی سطر انتخابی کلیک شد وارد فرم باز شده بشه
کد:
private void FrmBargozariAzmoon_Load(object sender, EventArgs e)        {
            SqlDataAdapter da2 = new SqlDataAdapter("SelectAllGroup", con);
            da2.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt2 = new DataTable();
            da2.Fill(dt2);
           




            SqlDataAdapter da = new SqlDataAdapter("SelectUserForExam", con);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            Cmb.DataSource = dt2;
            Cmb.DisplayMember = "GroupName";
            Cmb.ValueMember = "GroupId";
                      
          
        




            
        }


        
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex==5)
            {
                FrmPayam fpayam = new FrmPayam();
                fpayam.ShowDialog();
            }
        }

در قسمت content click ایندکس مربوطه به ستونی که لینک داخل آن قرار دارد را نوشتم ولی عمل نمیکنه
سپاس

تو ظاهر کد چیزی که دلیل ایراد باشه نمی بینم، پیشنهاد می کنم مرحله به مرحله بررسی کنید، ببینید CellContentClick اتفاق می افته یا نه، و اگر اتفاق می افته مقدار ColumnIndex چیه که 5 نیست.
کد:
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            MessageBox.Show(e.ColumnIndex.ToString());
        }
اگه کد بالا باعث نمایش مقدار ColumnIndex نشه مفهومش اینه که به دلیلی DataGridView تون غیر فعاله یا dataGridView1_CellContentClick به رخداد کنترل dataGridView1 وصل نیست.
اگه مقدار ColumnIndex رو نشون داد معلوم میشه که اندیس ستون اون چیزی که فکر می کردید نیست.
 

swsehsan

Member
ممنون عالی بود
من ایندکس ها رو به ترتیبی که در گرید بود از صفر شمارش کرد تا به ستون مورد نظر برسم که 5 شد ولی چیزی که نشون داد 2 بود ترتیب نمایش ستون ها در گرید با ترتیب ستون ها در زمان اجرا فرق میکنه
این بخاطر استفاده کردن از لینک و کمبو در گرید می باشد ؟
 

the_king

مدیرکل انجمن
ممنون عالی بود
من ایندکس ها رو به ترتیبی که در گرید بود از صفر شمارش کرد تا به ستون مورد نظر برسم که 5 شد ولی چیزی که نشون داد 2 بود ترتیب نمایش ستون ها در گرید با ترتیب ستون ها در زمان اجرا فرق میکنه
این بخاطر استفاده کردن از لینک و کمبو در گرید می باشد ؟

شاید، از اونجایی که همیشه ستون ها را بجای Index شون با Name شون مشخص می کنم تا به حال مشابه همچین موردی رو ندیدم.
 

جدیدترین ارسال ها

بالا