[英]show textbox on click in button inside gridview
当单击同一 gridview 的另一个单元格内的按钮并替换复选框的按钮时,我想在 gridview 的单元格内显示一个文本框。
像这样:
在点击编辑按钮之前:
点击按钮后,如下所示:
这是 gridview 的 html
<asp:GridView runat="server" ID="GdVDocumentosFamilia" CssClass="tableCont tableContInfo genTbl tblCenter yellow" OnRowDataBound="GdVDocumentosFamilia_RowDataBound" AutoGenerateColumns="false"> <Columns> <asp:BoundField DataField="Nombre" /> <asp:BoundField DataField="RelacionFFdE" /> <asp:TemplateField> <ItemTemplate> <asp:Label ID="lblTiene" runat="server" CssClass="labelBoldForm"></asp:Label> <asp:LinkButton runat="server" ID="lnkMod" CommandName="cmdMod" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" CssClass="btn btn-secondary btn-icon btn-2"> <span class="btn-inner--icon"><i class="far fa-edit"></i></span> </asp:LinkButton> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="PartidaNacimiento" HeaderStyle-CssClass="ocultar" ItemStyle-CssClass="ocultar"/> <asp:BoundField DataField="CUI" /> </Columns> </asp:GridView>
这怎么填:
public void DocumentoFamilia(DataTable dt)
{
foreach (DataRow row in dt.Rows)
{
row["CUI"] = String.IsNullOrEmpty(row["CUI"].ToString()) ? "Pendiente" : row["CUI"];
}
GdVDocumentosFamilia.Columns[0].HeaderText = "Nombre";
GdVDocumentosFamilia.Columns[1].HeaderText = "Relación";
GdVDocumentosFamilia.Columns[2].HeaderText = "Partida de nacimiento/CUI";
GdVDocumentosFamilia.Columns[4].HeaderText = "Número de CUI";
GdVDocumentosFamilia.DataSource = dt;
GdVDocumentosFamilia.DataBind();
foreach (GridViewRow row in GdVDocumentosFamilia.Rows)
{
row.Cells[1].Text = String.IsNullOrEmpty(row.Cells[1].Text) ? "Pendiente" : row.Cells[1].Text;
row.Cells[1].ForeColor = row.Cells[1].Text == "Pendiente" ? Color.Red : Color.Empty;
row.Cells[4].ForeColor = row.Cells[4].Text != "Pendiente" ? Color.Empty : Color.Red;
}
}
最后这是行数据绑定。
protected void GdVDocumentosFamilia_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string tienecui = e.Row.Cells[3].Text;
if (tienecui != "NO")
{
LinkButton lnkMod = e.Row.FindControl("lnkMod") as LinkButton;
lnkMod.Visible = false;
Label lblTiene = e.Row.FindControl("lblTiene") as Label;
lblTiene.Text = "SI";
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.