PDA

View Full Version : خواندن اطلاعات چند cell کنترل gridView



mohsen_zelzela00
جمعه 24 اردیبهشت 1389, 17:51 عصر
با سلام خدمت اساتید محترم

من یک cell به grid خودم اضافه کردم به صورت زیر


<asp:TemplateField HeaderText="حذف" ItemStyle-BackColor="#ffc080" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:ImageButton ID="Image3" runat="server" ImageUrl="~/design/icon-delete.gif" CommandName="del"
CausesValidation="false" CommandArgument='<%#Bind("REQUEST_ID") %>' OnClientClick="return confirm('آیا دستور حذف را تایید می کنید؟');" />
</ItemTemplate>
</asp:TemplateField>




حالا می خوام وقتی که بر روی این آیکون کلیک کردم اطلاعات cell1 و اطلاعاتcell2 سطری رو که روی اون کلیک کردم رو بهم بده و من طبق این اطلاعات یک دستور sql می خوام بنویسم


ممنون میشم دوستان راهنمایی کنند

Vahid_moghaddam
جمعه 24 اردیبهشت 1389, 18:16 عصر
می تونید به شکل زیر عمل کنید:

protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "del")
{
GridViewRow gvRow = (GridViewRow)(e.CommandSource as Control).NamingContainer;
int index = gvRow.RowIndex;
string value = GridView.Rows[index].Cells[1].Text;
}
}

mohsen_zelzela00
سه شنبه 28 اردیبهشت 1389, 16:25 عصر
می تونید به شکل زیر عمل کنید:

protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "del")
{
GridViewRow gvRow = (GridViewRow)(e.CommandSource as Control).NamingContainer;
int index = gvRow.RowIndex;
string value = GridView.Rows[index].Cells[1].Text;
}
}


دوست عزیز من کدی که شما نوشتید رو نوشتم ولی هیچ چیز به من برگشت داده نشد(یعنی هیچ چیز برگشت داده نمیشه)

2farsoft
چهارشنبه 29 اردیبهشت 1389, 15:47 عصر
من وقتی میخوام توی رویداد rowcommand این کار رو انجام بدم اولش توی رویداد rowcreated این کد رو میذارم


myButton.CommandArgument = e.Row.RowIndex.ToString();

بعد توی rowcommand این کد رو


string s = ((DataBoundLiteralControl)GridView1.Rows[e.CommandArgument].Cells[0].Controls[0]).Text.Trim();

ولی اگه نمی خواید از CommandArgument استفاده کنید به جای این cell ای که اضافه کردید می تونید از command field delete استفاده کنید و در رویداد rowdeleting از این کد استفاده کنید


string s = ((DataBoundLiteralControl)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text.Trim();

امیدوارم منظور سوالتونو درست متوجه شده باشم