PDA

View Full Version : سوال: باز شدن Tab جدید هنگام SelectedIndexChange GridView



morika
چهارشنبه 27 دی 1391, 12:41 عصر
سلام
تو فرمم کدی دارم که بعداز انتخاب یه سطر از گریدویو باید یه پنچره جدید باز شه و اطلاعات رو نشون بده. حالا می خوام بعداز کلیک روی دکمه انتخابی که تو gridview هست نتایج تو یه Tab جدید باز شه. چجوری میشه؟
ممنون

mahtab kf
چهارشنبه 27 دی 1391, 12:59 عصر
می خواهی با زدن یک دکمه در یک سطر از گریدویو اطلاعات آن سطر در tab جدید باز بشه؟ می خواهی اطلاعات رو ویرایش کنی و برگردی به صفحه اول یا فقط نمایش بدی؟

morika
چهارشنبه 27 دی 1391, 14:52 عصر
فقط می خوام بببینم چجوری میشه با زدن دکمه select در گریدویو یه TAB جدید باز کرد. من الان اطلاعات گریدویو رو به یه صفحه دیگه انتقال می دم و اونجا نمایش می دم. حالا می خوام ببینم چجوری میشه که اون صفحه رو تو یه TAB جدید باز کرد

morika
پنج شنبه 28 دی 1391, 23:05 عصر
کسی واسه این مشکل ما راه حلی نداره؟

website.expert
جمعه 29 دی 1391, 04:05 صبح
سلام دوست عزیز،
من یه نمونه براتون درست کردم،نگاه کنید اگه مشکلی داشت یا سوالی داشتید بگید.
فقط اول یه بانک با یه Table به نام Contact ایجاد کنید و ConnectionStringش رو تو هر دو تا فرم برنامه اضافه کنید.
این Table سه تا فیلد ID,Name,Family هم داشته باشه،با یه چند تا رکورد.
صفحه Master رو هم StartPage کنید تا اول بالا بیاد.

morika
جمعه 29 دی 1391, 15:24 عصر
راستش من کد شمارو تو پروژه خودم تست کردم ولی جواب نداد. یعنی اصلا هیچ عکس العملی نشون نمیده انگار که هیچ کدی نوشته نشده

website.expert
جمعه 29 دی 1391, 16:33 عصر
راستش من کد شمارو تو پروژه خودم تست کردم ولی جواب نداد. یعنی اصلا هیچ عکس العملی نشون نمیده انگار که هیچ کدی نوشته نشده
کدوم قسمتش رو؟
آیا خود پروژه رو اجرا کردید؟درست اجرا میشه؟!
یه بار همین رو اجرا کنید،اگه اجرا نشد مشکل از کد منه.
اگه هم درست اجرا شد پس یجای کار شما مشکل داره.
خود پروژه رو یه بار اجرا کنید و نتیجه رو بگید.
واسه من بدون مشکلی تو یه تب جدید باز میشه و اطلاعات رو نشون میده.
به این نکته هم توجه کنید که این دستورات :
if (e.CommandName == "Select")
{
string url = string.Format("Details.aspx?id={0}", DataGrid1.Items[e.Item.ItemIndex].Cells[0].Text);
string js = "<script type = 'text/javascript'>\nwindow.open('" + url + "');\n</script>";
ClientScript.RegisterStartupScript(this.GetType(),"script", js.ToString());
}
رو من تو رویداد ItemCommand نوشتم نه SelectedIndexChange.

website.expert
جمعه 29 دی 1391, 16:36 عصر
دوستان دیگه هم اگه امتحان کردن لطفاً بگن،من خودم از این کد استفاده میکنم و مشکلی نداره.

morika
جمعه 29 دی 1391, 18:18 عصر
خب پس احتمالا مشکل همیجاست چون من کد رو تو SelectedIndexChange نوشتم. فکر می کردم فرقی نداره. ولی حالا یه مشکل دیگه هست که من این ItemCommand رو ندارم؟؟؟؟

morika
دوشنبه 02 بهمن 1391, 14:29 عصر
کسی نمی دونه این ItemCommand و چجوری میشه آورد؟

website.expert
دوشنبه 02 بهمن 1391, 16:08 عصر
دوست عزیز شما این دستورات:
protected void Button1_Click(object sender, EventArgs e)
{
string url = "Details.aspx";
string js = "<script type = 'text/javascript'>\nwindow.open('" + url + "');\n</script>";
ClientScript.RegisterStartupScript(this.GetType(), "script", js.ToString());
}
میتونید هرجایی قرار بدید،من بخاطر اینکه شما گفتی گرید یه نمونه با گرید برات درست کردم.
مثلاً می تونید تو رویداد کلیک یه دکمه بذارید می بینید که صفحه جدید رو تو یه تب جدید باز میکنه.
بجای Details.aspx هم آدرس Page خودتون رو بذارید.
اگه رویداد ItemCommand رو هم نیاز داری بعد از اینگه گرید رو انتخاب کردی،تو قسمت Properties کارهای زیر رو انجام بده.
و روی ItemCommand دابل کلیک کن تا رویدادش ایجاد بشه.
98796

morika
سه شنبه 03 بهمن 1391, 16:57 عصر
آقای وبسایت من کاملا منظور شمارو درک می کنم. ولی باور بفرماییید من تو events هام چیزی بنام ItemCommand ندارم. الان 2 روز الاف همین قضیه هستم.