[英]How can i code ItemCommand and OnDeleteCommand From a DataGrid inside a Repeater
我在中繼器內部有3個控件,即標簽,按鈕和數據網格。 我已經為按鈕編寫了click事件。 但我不知道如何向Datagrid onitemcommand和ondeletecommand編寫代碼。
這是我的代碼:
<asp:Repeater runat="server" OnItemDataBound="repeaterSearchResult_ItemDataBound" ID="repeaterSearchResult">
<ItemTemplate>
<asp:Label ID="textBoxSearch" ForeColor="White" width="25%" runat="server"
Text="<%#Container.DataItem%>"></asp:Label>
<asp:Button ID="BTNAdd" runat="server" Text="Add" OnClick="button_click"/>
<br />
<asp:DataGrid ID="dgLCL" runat="server" AutoGenerateColumns="False"
ShowFooter="FALSE" CellPadding="3" OnItemCommand="dgLCL_Select"
OnDeleteCommand="dgLCL_Delete">
<asp:BoundColumn DataField="GrossUOMType" HeaderText="Type">
</asp:BoundColumn>
<asp:BoundColumn DataField="Volume" HeaderText="Volume">
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="DELETE">
<ItemTemplate>
<asp:ImageButton runat="server" ID="IMGBTNDelete"
ImageUrl="~/AppImages/grid-icon-delete.jpg"
ToolTip="Delete" CommandName="DeleteItem"
OnClientClick="javascript:return confirmDelete();"
AlternateText="Delete" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Add">
<ItemTemplate>
<asp:ImageButton runat="server" ID="IMGBTNAdd"
ImageUrl="~/AppImages/grid-icon-add.jpg"
ToolTip="Insert" CommandName="InsertItem"
AlternateText="Insert" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Left" ForeColor="#000066" BackColor="White"
Mode="NumericPages">
</PagerStyle>
</asp:DataGrid><br />
這是我的代碼背后:
protected void repeaterSearchResult_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
string Flag = Session["Flag"].ToString();
if (Flag=="B")
{
e.Item.FindControl("textBoxSearch").Visible = false;
e.Item.FindControl("BTNAdd").Visible = false;
}
DataGrid gv = e.Item.FindControl("dgLCL") as DataGrid;
//TextBox textBox = e.Item.FindControl("textBoxSearch") as TextBox;
Label label = e.Item.FindControl("textBoxSearch") as Label;
// BindGrid(textBox.Text,Session["Flag"].ToString());
string SFRID = label.Text;
if (Flag == "L")
{
sql = "Select MasterNo , MasterDate,GrossWt,GrossUOMType,Volume from
VW_TransLCLMaster where tBLG_NUIsActive=1 and PortOfDischargeName='"
+ SFRID + "'";
//mobjGenlib.objDBLib.ExecuteNonQuery(sql);
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if (gv != null)
{
gv.DataSource = ds;
gv.DataBind();
}
}
}
問題是:
我在Datagrid中有選擇,刪除和插入按鈕。我想知道如何編碼onitem和ondelete命令。
有誰能幫助我解決這個問題。 提前致謝
試試這個在repeater_ItemDataBound中找到您的數據網格
DataGrid dg = (DataGrid)e.Item.FindControl("dgLCL");
而不是觸發您想要的事件,如果您要使用onitemcommand
不是在下一行中編寫
dg.ItemCommand +=
然后按Tab鍵兩次,事件將在后面的代碼中處理。 形成的代碼就像
dg.ItemCommand += new DataGridItemCommandEventHandler(dg_ItemCommand)
}
void dg_ItemCommand(object sender, DataGridItemCommandEventArgs e)
{
throw new NotImplementedException();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.