PDA

View Full Version : سوال: دریافت مقدار برگشتی از کنتل دیتاگرید ویو فرم دیگر



اسماعیل ابراهیمی
سه شنبه 11 بهمن 1390, 11:38 صبح
با سلام خدمت دوستان
بنده یه فرم دارم که فقط یک کنترل DataGridView داخل اون قرار داره .
من میخوام این کار رو انجام بدم
1- از هر کنترل TextBox دلخواه در هر فرم دلخواه بتونم مقدار برگشتی ستون اول از سطر انتخاب شده در فرم بالا رو بدست بیارم .
برای اینکار یه متد عمومی به اسم ReturnAllCodes داخل کلاس PublicStatement به شکل زیر تعریف کردم


public int ReturnAllCodes(string WinTitle, string Query, string[] Fields, string RequestCode)
{
all_codes _all_code = new all_codes();
_all_code.Text = WinTitle;
_all_code.dgv_all.DataSource =SelectAllQuery(Query);

for (int i = 0; i < Fields.Length; i++)
{
_all_code.dgv_all.Columns[i].HeaderText = Fields[i];
}

_all_code.ShowDialog();



return 0;
}
}


که پارامترها به ترتیب WinTitle برای عنوان پنجره ، Query دستور بازیابی اطلاعات ، Fieldsآرایه ای از نام ستون ها ی DataGridView و RequestCode نام ستونی که می خواهیم کد آن برگردانده شود .

حالا توی قسمت ستاره دار کد بالا چه کدی بنویسم که وقتی روی سطری 2 بار کلیک میشه فرم بسته بشه و مقدار ستون اول اون سطر به متد بالا برگشت داده بشه ؟

منظور از Return 0 هم مقدار دریافتی از فرمی که دیتاگریدویو داره هست که به دستور فراخوان ارسال می شود


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

private void txt_group_code_KeyPress(object sender, KeyPressEventArgs e)
{
if ( txt_group_code.Text ==string.Empty && e.KeyChar==13)
{
string [] Group=new string[3];
Group[0]="کد گروه";
Group[1]="نام گروه";
Group[2]="توضیح";
int result = SClass.ReturnAllCodes("گروه", "Select * From Product_Group", Group, "group_id");
MessageBox.Show(result.ToString());
}
}

Hybrid
سه شنبه 11 بهمن 1390, 12:07 عصر
سلام دوست عزیز ، سوالت رو خوب متوجه نشدم ... یک ویدئو واستون آماده کردم اگه درست بود بگین تا کدشو واستون بنویسم..

http://easycsharp.persiangig.com/other/Javab.rar

موفق باشید./