+1 امتیاز

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


 

بسته شده

1 پاسخ

0 امتیاز
 
بهترین پاسخ

فرض کنید دو فرم دارین

فرم اول دارای یک دیتاگرید ویو

و فرم دوم هم دارای دو تکس باکش

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

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

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (this.dataGridView1.Rows.Count > 0)
    {
        try
        {
            Form2 f2 = new Form2();
            f2.dataGridView = dataGridView1.Rows[e.RowIndex];
            f2.Show();
        }
        catch (Exception er)
        {
            MessageBox.Show(er.Message.ToString());
        }
    }
}

و از کد زیر در فرم دوم

public DataGridViewRow dataGridView;

private void Form2_Load(object sender, EventArgs e)
{
    textBox1.Text = dataGridView.Cells[0].Value.ToString();
    textBox2.Text = dataGridView.Cells[1].Value.ToString();
}

 

نتیجه :

ببخشید ولی متد cells وجود نداره
توسط (106 امتیاز) 1 1 4
من متد cells ی نمی بینم!!!!!  بنده تو رویداد cellClick دیتاگریدویو نوشتم. اول دیتاگرید رو انتخاب کنید و بعد برین به قسمت رویدادها و ...
توسط (6,480 امتیاز) 6 17 129
و این که من میخوام کد هایی که برای فرم اول نوشتین رو ب زدن یک دکمه اجرا بشوند
توسط (106 امتیاز) 1 1 4

کلاس فرم دو و ارروری که برای متد cells اومده البته اشکال از منه که نوشتم متد Cells

توسط (106 امتیاز) 1 1 4
متد نیست و خاصیته... در ضمن ارور مشخص نیست؟ متنشو بنویسین
توسط (6,480 امتیاز) 6 17 129

 'System.Windows.Forms.DataGridview' does not contain a definition for Cells and no extension method Cells accepting a first argument of type System.Windows..Forms.DataGridview could be found

توسط (106 امتیاز) 1 1 4

اول یه چیز چرا این سوالتون رو مخفی کردین و تو لیست سولات نیستش؟

دوم این کد همونیه که شما میخواین

 

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

private void button1_Click(object sender, EventArgs e)
{
	if (this.dataGridView1.Rows.Count > 0 && 
		this.dataGridView1.CurrentCell != null)
	{
		Form2 form2 = new Form2();
		form2.Value1 = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString();
		form2.Value2 = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[1].Value.ToString();
		form2.ShowDialog();
	}
}

و تو فرم دوم هم اینطور

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TransferValueDGV
{
    public partial class Form2 : Form
    {

        public string Value1 { get; set; }
        public string Value2 { get; set; }

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            this.textBox1.Text = this.Value1;
            this.textBox2.Text = this.Value2;
        }
    }
}

حالا شما هر چند textbox داشتین اضافه کنید

توسط (6,480 امتیاز) 6 17 129
وافعا خیلی ممنون خیلی خیلی ممنون
توسط (106 امتیاز) 1 1 4
خواهش می کنم
توسط (6,480 امتیاز) 6 17 129
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...