PDA

View Full Version : سوال: لطفا راهنمایی کنید--نمایش یک ستون پنهان گیرید با تکنولوژی ajax



zhr.rezae66i
سه شنبه 31 اردیبهشت 1392, 10:01 صبح
سلام
من یک ستون پنهان در گیرید دارم. میخام وقتی پیمایش میکنم گیرید رو با زدن دکمه down گیرید روی هر ستونی میرم با ajax مقدار یک ستون پنهان در گیرید رو در یک textbox نمایش بده. لطفا کمک کننید. من اینکارو با یک دکمه انجام دادم اما نباید اینطور باشه و باید حتما با آجاکس پیاده سازی بشه

ahmad156
سه شنبه 31 اردیبهشت 1392, 10:27 صبح
منظورتون از ajax کدوم هست؟
1-update panel
2-jquery و webmethod

zhr.rezae66i
سه شنبه 31 اردیبهشت 1392, 10:35 صبح
نمیدونم اونچه میخام باید شبیهه این بشه با این تفاوت که بجای انتخاب چک باکس باید با up و down سطر انتخاب بشه:(
http://demos.devexpress.com/aspxgridviewdemos/Selection/Selection.aspx
اما اینم کدشو وارد میکنم <asp:Content ID="Content1" ContentPlaceHolderID="ContentHolder" runat="Server">
و کلا چیزایی که استفاده کرده رو نمیشناسه و خط سبز زیرشه.
لطفا --- من از آجاکس زیاد اطلاعات ندارم
فقط گفتن با اجاکس باید پیاده سازی بشه اینکه از کدوم روشی که شما میگیدو نمیدونم هرکدوم سریعترو بهتر باشه و بکار من بیاد

ahmad156
سه شنبه 31 اردیبهشت 1392, 10:39 صبح
خب این کنترل آماده هست فکر نمیکنم پیاده سازی اون به این راحتی ها باشه.فکر میکنم که از jquery و webmethod استفاده کرده باشه برای پیاده سازی اون.رایگان هم نیست.
من که از این کنترل ها استفاده نمیکنم:لبخند:

zhr.rezae66i
سه شنبه 31 اردیبهشت 1392, 10:48 صبح
پرسیدم باید از update panel استفاده کرد. میشه ی توضیحی راجع بش بدید

ahmad156
سه شنبه 31 اردیبهشت 1392, 11:02 صبح
شما کارتون غیر از اینه که به Id اون سطر دسترسی پیدا کنید و اگر انتخاب شده اون رو به ListBox ای اضافه کنین یا بالعکس؟

mirahsani
سه شنبه 31 اردیبهشت 1392, 11:08 صبح
این کدی که شما میگید باید جاوااسکریپت نوشته بشه.
ولی با updatepanel هم میشه. فقط سرعتش یکم میاد پایین.

zhr.rezae66i
سه شنبه 31 اردیبهشت 1392, 11:15 صبح
کارم اینه که اولا گیریدم طوری باشه که موس که میره روش select بشه همچنین با up و down صفحه کلید هم بتونم روی سطرهاش حرکت کنم و روی هر سطری میره به حالت انتخاب در بیاد. و هر سطری که انتخاب میشه یکی از داده هاش که پنهان هست توی یک textbox نمایش داده بشه


با جا.ا اسکریپت اگه میشه میتونین بم راهنمایی بیشتر بدید یا سایتی در این زمینه بم معرفی کنید
http://www.aspdotnet-suresh.com/2012/05/ajax-updapanel-control-with-triggers.html

mirahsani
سه شنبه 31 اردیبهشت 1392, 11:24 صبح
برای اینکار شما باید دستورات جاوااسکریپت رو بلد باشید و اگر مشکل داشتید اینجا تاپیک بزنید نه اینکه کلا بگید یه نفر کدشو بذاره.

zhr.rezae66i
سه شنبه 31 اردیبهشت 1392, 11:54 صبح
اوکی ممنون
میشه بگید تفاوت AsyncPostBackTrigger و PostBackTrigger چی هست در استفاده از update panel

ahmad156
سه شنبه 31 اردیبهشت 1392, 12:05 عصر
http://forum.p30world.com/showthread.php?t=424237&page=2

zhr.rezae66i
چهارشنبه 01 خرداد 1392, 09:01 صبح
سلام
من روی کلیک روی سطر گیرید تونستم رخداد selected index change مربوط به گیرید رو صدا بزنم
به صورت زیر

GridView GR = (GridView)sender;
e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(GR, "Select$" + e.Row.RowIndex);

جواب هم میده یعنی با کلیک روی سطررخداد عمل میکنه
حالا میخام با اجاکس بنویسمش. بصورت زیر عمل کردم اما موقع نمایش صفحه باز رفرش میشه
میشه راهنمایی کنید اشتباهم کجاست. میخام بروزر رفرش نزنه. آجاکس همینه دیگه!!



<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="279px"
BorderColor="White" BorderStyle="Solid" CellPadding="10" HorizontalAlign="Center"
OnRowDataBound="GridView1_RowDataBound" AllowSorting="True" DataKeyNames="Txt"
OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
کدها

</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:TextBox ID="Txt" runat="server" Height="200px" ReadOnly="True" TextMode="MultiLine"
Width="98%" BackColor="#EEEEEE"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridView1" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>

اینم کد مورد نظر در رخداد indexchange

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridView GRow = (GridView)sender;
Txt.Text = GRow.SelectedDataKey["Txt"].ToString();
}


ممنون