PDA

View Full Version : سوال: رویداد Click در grid view کجاست؟



veniz2008
سه شنبه 05 مرداد 1389, 18:32 عصر
سلام دوستان،لطف می کنید که بهم بگید رویداد click از grid view رو از کجا باید پیداش کنم چون از بین رویدادهای grid view هرچی نگاه میکنم رویدادی به نام click یا شبیه اونو نمی بینم،بصورت واضح تر بگم دنبال قسمت زیر در grid view میگردم،لطفا راهنمایی کنید،تشکر

privatevoid DataGridview1 _Click(object sender, EventArgs e

Ali_M.Eghbaldar
سه شنبه 05 مرداد 1389, 19:11 عصر
سلام دوست من
نه برای Gridview روال کلیک نداریم ولی اگه می خوای با چیزی شبه کلیک داشته باشی این کارا بکن
1. Bind کردن فرضا با SqlDatasource
2. خاصیت Enable Selection را True کن
3. کلاس زیرو import کن

Import system.data4. سپس در روال SelectedIndexChanging دستورات زیر را بنوس


Dim r As GridViewRow
r = GridView1.Rows(e.NewSelectedIndex)
Response.Write(r.Cells(2).Text.ToString())البت ه این یه راهشه
-------
راستی مشکلت در پست :لبخندساده:
http://barnamenevis.org/forum/showthread.php?t=235911
حل شد؟

راستی تعداد پست داره زیاد می شه ها :لبخند:
موفق باشی

amordad
سه شنبه 05 مرداد 1389, 19:57 عصر
اگر درست متوجه شده باشم شما نیاز دارید که یک ردیف خاص از گرید را انتخاب کنید یعنی کلیکش کنید و کاری متناسب با آن ردیف انجام شود .
خوب شما ابتدا باید ار قسمت gridview tasks گزینه edit columns را بزنید سپس یک templatefield به آن اضافه کنید و درنهایت ار قسمت gridview tasks گزینه edit templates را زده و سپس یک button از toobox خود به درون گرید بیاندازید و درون آن کد نویسی کنید.

saraytanha
سه شنبه 05 مرداد 1389, 23:11 عصر
اگه در ساخت گریدت از templatefilde استفاده کردی و چند دکمه داری که هر کدوم یه کاری انجام می دهن می تونی به روش زیر عمل کنی


<asp:GridView ID="GridViewLastPost" runat="server" AutoGenerateColumns="False"
ShowHeader="False" PageSize="3" AllowPaging="True"
CssClass="fontgridview" DataSourceID="SqlDataSourceViewPost"
onrowcommand="GridViewLastPost_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Name" runat="server" CssClass="fontgetdate" Font-Underline="false"
Text='<% #Eval("Name") %>' CommandName="ShowProf" CommandArgument='<%#Eval("UserName") %>'></asp:LinkButton>
<asp:LinkButton ID="Coment" runat="server" CommandName="ViewComment" CommandArgument='<% #Eval("PostID")%>' Text='<% #Eval("SumComment")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

تو خاصیت های دکمه ای که میذاری CommandName
بذار و خاصیت
CommandArgument='<% #Eval("PostID")%>'
اون رو برابر با مقداری بذار که می خواهی ازش استفاده کنی
دقت کرده باشی تو خاصیت
onrowcommand
گریدت باید کد بنویسی به شیوه زیر:


protected void GridViewLastPost_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ViewComment")
{
int PostID = Int32.Parse((string)e.CommandArgument);
Session["PostID"] = PostID;
StringBuilder sb = new StringBuilder();
if (!ClientScript.IsClientScriptBlockRegistered("exampleScript"))
{
sb.Append("<script language='javascript' type='text/javascript'>");
sb.Append("window.open('PostComment.aspx','','scrollbars=yes, toolbar=no,status=yes,location=no,dir ectories=no,width=500,height=500,top=100,left=300' );");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "exampleScript", sb.ToString());
}
}
if (e.CommandName == "ShowProf")
{
string UserName = e.CommandArgument.ToString();
StringBuilder sb = new StringBuilder();
if (!ClientScript.IsClientScriptBlockRegistered("exampleScript"))
{
sb.Append("<script language='javascript' type='text/javascript'>");
sb.Append("window.open('ViewProfile.aspx?Profile=" + UserName + "');");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "exampleScript", sb.ToString());
}
}

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