PDA

View Full Version : عمل نکردن RowCommand



project80888
دوشنبه 04 آذر 1392, 17:13 عصر
اساتید عزیز سلام
تو را خدا برسید به دادم

ببین اشکال کارم کجاست


<td colspan="4">
<asp:GridView ID="GridView1"
runat="server" AllowPaging="True"
gridlines="None"
AutoGenerateColumns="False"
EnableModelValidation="True"
OnPageIndexChanging="GridView1_PageIndexChanging"
PageSize="5" OnRowCommand="GridView1_RowCommand" Width="100%">
<Columns>
<asp:TemplateField HeaderText="#">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Type_Code" HeaderText="کد گروه" />
<asp:BoundField DataField="Type_Name" HeaderText="عنوان" />
<asp:BoundField DataField="Type_Active" HeaderText="وضعیت" />
<asp:TemplateField HeaderText="عملیات">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="lnk_Show" runat="server" CommandArgument="<%#Container.DataItemIndex%>" CommandName="Select" Font-Names="tahoma" Font-Size="Large" Text="عملیات"></asp:LinkButton>
<asp:Label ID="lblType_Code" runat="server" Text='<%# Bind("Type_Code") %>' Visible="False"></asp:Label>
<asp:Label ID="lblType_Name" runat="server" Text='<%# Bind("Type_Name") %>' Visible="False"></asp:Label>
<asp:Label ID="lblType_Active" runat="server" Text='<%# Bind("Type_Active") %>' Visible="False"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle cssclass="gridview"/>

<HeaderStyle BackColor="#FF6600" Font-Names="tahoma" Font-Size="Smaller" />
<RowStyle Font-Names="tahoma" />
</asp:GridView>
</td>

project80888
دوشنبه 04 آذر 1392, 17:14 عصر
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{

int index = int.Parse(e.CommandArgument.ToString()) - GridView1.PageIndex * GridView1.PageSize;

if (e.CommandName == "Select")
{

AllDivHide();
_lbl_War.Text = "در حذف گروه دقت نمائید با حذف گروه کلیه فایلهای مربوط به آن گروه حذف می گردند";
msgWar.Visible = true;
GridViewRow selectedRow = GridView1.Rows[index];

Label lblType_Name = (Label)selectedRow.FindControl("lblType_Name");
Label lblType_Code = (Label)selectedRow.FindControl("lblType_Code");
Label lblType_Active = (Label)selectedRow.FindControl("lblType_Active");




txtGroupName.Text = lblType_Name.Text.Trim();
txtGroupCode.Text = lblType_Code.Text.Trim();



if (lblType_Active.Text == "0")
_cbGroupActive0.Checked = false;
else
_cbGroupActive0.Checked = true;




_btnAddGroup.Visible = false;
_btnDelete_Group.Visible = true;
_btn_Edit_Group.Visible = true;





}
}

project80888
دوشنبه 04 آذر 1392, 17:16 عصر
الان کدهای بالا را ببینید
مشکل اینه که یه linkbutton گذاشتم

<asp:LinkButton ID="lnk_Show" runat="server" CommandArgument="<%#Container.DataItemIndex%>" CommandName="Select" Font-Names="tahoma" Font-Size="Large" Text="عملیات"></asp:LinkButton>




که موقعی که کاربر روی اون کلیک می کنه صفحه postback میشه ولی rowCommand اصلا اتفاق نمی افته


این کدهای داخل pageload


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// ClientAPI.AddButtonConfirm(Button1, Localization.GetString("Test", this.LocalResourceFile));
AllDivHide();
_LoadGrid();

}
}

project80888
دوشنبه 04 آذر 1392, 17:18 عصر
جالب این که روی لوکال جواب میده
ولی روی ویندوز 2008 سرور جواب نمیده

project80888
دوشنبه 04 آذر 1392, 17:34 عصر
فقط یه نکته ایی که یادم رفت بگم اینه که من این کدها را داخل usercontrol نوشتم

project80888
دوشنبه 04 آذر 1392, 20:41 عصر
دوستان کسی نیست جواب بده

project80888
سه شنبه 05 آذر 1392, 10:24 صبح
ای یایا برنامه نویس هم برنامه نویس های قدیم×!

mRizvandi
چهارشنبه 06 آذر 1392, 19:18 عصر
وقتی از کامند select استفاده می کنید، رخداد RowCommand رخ نمیده بلکه SelectedIndexChanging و SelectedIndexChanged اتفاق می افتن.
برای همین کد شما کار نمی کنه. اگر قصد حذف دارید باید از کامند DELETE استفاده کنید. در غیر این صورت کامند خودتون رو بنویسید، مثلا: DeteleRecord