ورود

View Full Version : سوال: دسترسی به مقدار کنترل در تمپلیت گریدویو



mohsen.nsb44
شنبه 04 اردیبهشت 1395, 16:04 عصر
سلام من در تمپلیت گریدویو یک دکمه دارم که میخوام وقتی روش کلیک بشه مقدار لیبل من رو در کنترلی مثل تکست باکس نشون بده
با کد زیر میتونم مقدار یک سطر رو نشون بدم


string val = ((Label)GridView1.Rows[0].FindControl("Label1")).Text;
Label4.Text = val.ToString();


حالا قصد من اینه که بجای سطر 0 که نوشته شده برو روی هر سطری کلیک شده ایدی اون سطر برگرده

mohsen.nsb44
شنبه 04 اردیبهشت 1395, 16:12 عصر
در تمپلیت یه دکمه قرار دادم چطور میتونم با کلیک بر روی دکمه اندیس اون سطر از گریدویو رو بدست بیارم

maxpayn2
یک شنبه 05 اردیبهشت 1395, 03:18 صبح
سلام . این مثالیه که خودم استفاده کردم . ماله گریده تلریکه ولی گرید معمولی هم همینجوریه هیچ فرقی نداره


<ItemTemplate>
<asp:LinkButton ID="lbEdit" runat="server" CommandName="view" Text='مشاهده' CommandArgument='<%# Eval("ReportID") %>'>
</asp:LinkButton>
</ItemTemplate>





protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
switch (e.CommandName)
{
case "view":
{
if (Request.Cookies["Reports"] != null)
{
HttpCookie MyCookies = new HttpCookie("Reports");
MyCookies["ReportID"] = string.Empty;
if (Request.Url.Host.ToString() != "localhost")
{
MyCookies.Domain = Request.Url.Host.ToString();
}
Response.Cookies.Add(MyCookies);
}


HttpCookie MyCookie = new HttpCookie("Reports");
MyCookie["ReportID"] = e.CommandArgument.ToString();
if (Request.Url.Host.ToString() != "localhost")
{
MyCookie.Domain = Request.Url.Host.ToString();
}
Response.Cookies.Add(MyCookie);
HttpContext.Current.Response.Redirect("~/Forms/f3v.aspx?Archive=1");
break;
}
}
}

notlikeothers
یک شنبه 05 اردیبهشت 1395, 07:08 صبح
درود.
اول باید موقع بایند DataKeyField رو به گرید بدی که معمولا کلید اصلی هستش
بعد تو رویدادItemCommand کد زیر رو وارد کنید:


int Id =int.Parse( datagrid_ID.DataKeys[(int)e.Item.ItemIndex].ToString());