PDA

View Full Version : نحوه بدست آوردن مقدار data key یک سطر از gridview



elmira_63
شنبه 11 تیر 1390, 13:47 عصر
سلام دوستان
من یک گرید دارم که توی اون یه template fild ایجاد کردم و در قسمت template یه button گذاشتم
**حالا چطور می تونم با کلیک روی این button مقدار datakey اون سطری که روی دکمه اش کلیک کردم رو بدست بیارم

elmira_63
شنبه 11 تیر 1390, 14:23 عصر
دوستان اگه راهی داره راهنمایی کنید من خیلی کارم گیره به این قسمت

elmira_63
شنبه 11 تیر 1390, 22:48 عصر
درسته دوست عزیز ولی مشکل اینجاست که با کلیک کردن بر روی button که در FieldTemplate دیتاگرید قرار داره این دستور مقدار null رو بر می گردونه
در ضمن لینکی که گذاشته بودید ظاهرا خرابه
ممنون از توجهتون

Peyman.Gh
یک شنبه 12 تیر 1390, 00:23 صبح
در رویداد RowCommand مربوط به GridView به صورت زیر عمل کنید:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
Response.Redirect("YourPage.aspx?Name=" + (string)e.CommandArgument);
}

سپس در خاصیت CommandArgument مربوط به Button فیلد بازگشتی مورد نظر را به صورت زیر مشخص کنید.

<asp:Button ID="Button1" CommandArgument='<%#Eval("id") %>' runat="server" onclick="Button1_Click" Text="Button" />
در این مثال هنگامی که بر روی Button کلیک شود مقدار فیلد id به رشته تقاضا فرستاده می شود.

موفق باشید.

talayie
جمعه 21 مرداد 1390, 14:08 عصر
سلام ببخشید منظورتون از رشته تقاضا چیه؟

Saman Hashemi
جمعه 21 مرداد 1390, 14:17 عصر
Response.Redirect("YourPage.aspx?Name=" + (string)e.CommandArgument);
منظور این قسمت میباشد یا همون query string...!

moslem.hady
جمعه 21 مرداد 1390, 16:29 عصر
اولا یه LinkButton بذارین و به CommandArgument این مقدار رو بدین:
CommandArgument='<%# Container.DataItemIndex %>'
و CommandName رو برابر یه مقدار دلخواه. به جز Update,Delete,Edit,Cancel
CommandName="up"
بعد توی GridView1_RowCommand:

if (e.CommandName == "up")
{
Control ctl = e.CommandSource as Control;
GridViewRow CurrentRow = ctl.NamingContainer as GridViewRow;
object objTemp = GridView1.DataKeys[CurrentRow.RowIndex].Value as object;
if (objTemp != null)
{
long id = long.Parse(objTemp.ToString()); //Datakey satre entekhab shode
int idgrid = int.Parse(e.CommandArgument.ToString());// shomare satr

//
// Code Shoma
//

}
}