انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
سلام
يك فرم دارم(فرم1)كه درآن يك ديتاگريد دارم( كه ستونهاي آن برابر است با نام،نشان و جنست)كه اطلاعات را از بانك مربوطه مي خواند ونمايش مي دهد
حال مشكل اساسي من اينست كه
ميخواهم هنگاميكه روي سطري دابل كليك كردم اطلاعات به تكست باكس وكبوباكس هاي فرم 2انتقال پيدا كند(براي كمبوباكس مي خوام هم DisplayMember وValueMember )
باتشكر
نقل قول: انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
میتونی تو اون فرمی که توش تکس باکس ها و لیبل ها و .. هست که میخوای پرشون کنی ---------یک تابع بنویسی به صورت عمومی که مقدار ها رو بگیره تو تکس باکس قرار بده
بعد از فرمی که گرید داره وقتی روی دیتا گرید کلیک میشه اطلاعات مربوط به اون سطرو بخونی و اون تابع رو که نوشتی رو فراخوانی کنی و مقادیر خوانده شده رو توش بگذاری
نقل قول: انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
نقل قول:
سلام
فرم 1 دارم كه داخل آن عمل ثبت وويرايش را انجام مي دهم و يك دكمه دارم كه هرگاه روي آن كليك كردم فرم 2ظاهر مي شودكه درآن يك ديتاگريد است كه كل اطلاعات ثبت شده در فرم را به ما نمايش مي دهد(مثلا 100ركورد )حال مي خواهم هرگاه روي يكي از سطرهاي ديتاگريد موردنظر دابل كليك كردم اطلاعات آن سطر به تكست باكسها وكمبوباكس مرتبط در فرم 1 انتقال پيداكند
شما برای انجام این کار باید از متغیر های Public که در هر دو فرم شناخته شود استفاده کنید
یک روش اینکه کلید سطری که انتخاب شده را در متغیر عمومی بریزید و در فرم اول این متغیر را فراخوانی کنید به کمک کلید دوباره اطلاعات مربوط به آن سطر را از بانک بخوانید. و datagride,combo را پرکنید.
روش دوم اینکه یک DataRow به صورت Public تعریف کنید و سطر انتخاب شده را به آن نسب دهید ولی این کار کمی دردسر داره چون باید از تبدیل نوع استفاده کنید تعریف سطر در گرید و کمبو به صورت DataRow نیست.
نقل قول: انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
با سلام.
پیشنهاد میکنم از پراپریتی استفاده بکنید
نقل قول: انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
سلام
از روش شی گرا هم می توانی استفاده کنی
اول:ایجاد کلاس
public static class CDataBase
{
public static DataSet PDataSet
{
get;
set;
}
}
دوم:برای فرم اولی
private void button1_Click(object sender, EventArgs e)
{
OleDbDataAdapter.Fill(CDataBase.PDataSet);
//یا می تونیم فرض کنیم که قبلا دستکاری (درج و حذف ) شده است
Form2 F2 = new Form2();
F2.Show();
}
سوم: برای فرم سومی
private void Form1_Load(object sender, EventArgs e)
{
DataGrid1.DataSource = CDataBase.PDataSe;
}
موفق باشی
__________________________________________________ __________________________________________________
چون به دریا می توانی راه یافت
سوی یک قطره چرا باید شتافـت
نتایج آماری,مقایسه ای بین String و StringBuildr
نقل قول: انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
دوست عزیز شما میخوای فقط یک رکورد رو بفرستی به تکست باکس ها و کمبوباکس های یک فرم دیگه؟؟
با توجه به سوال یعنی اینو میخوای درسته؟
نقل قول: انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
نقل قول:
نوشته شده توسط
mmd2009
دوست عزیز شما میخوای فقط یک رکورد رو بفرستی به تکست باکس ها و کمبوباکس های یک فرم دیگه؟؟
با توجه به سوال یعنی اینو میخوای درسته؟
باسلام
بله منظورم همينه
باتشكر
نقل قول: انتقال اطلاعات از ديتارگريديك فرم به فرم ديگر
اگه میخوای اطلاعاتت بصورت همزمان تو فرم دوم هم قابل ویرایش باشه ، روش بهتر ارسال bindingSource به فرم دومه
public partial class SubForm : Form
{
private BindingSource _bindingSource;
public SubForm(BindingSource bindingSourceMain)
: this()
{
bindingSource = bindingSourceMain_;
}
private void SubForm_Load(object sender, EventArgs e)
{
textBox.DataBindings.Add(new Binding("Text", _bindingSource, "Field1"));
comboBox.DataSource = _bindingSource;
comboBox.DisplayMember = "Field2";
comboBox.ValueMember = "Field3";
}