我有GridView.AutoGenerateColumn=true
。
当我单击按钮行命令事件未触发时,我在 rowdatabound 的页脚上创建了按钮
这是我的代码:
dt = ESalesUnityContainer.Container.Resolve<IAgentService>().GetAgentMaterialPercentage();
grdMaterialPercentage.DataSource = dt;
grdMaterialPercentage.DataBind();
protected void grdMaterialPercentage_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (grdMaterialPercentage.AutoGenerateColumns == true)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Visible = false;
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Visible = false;
if (DataBinder.Eval(e.Row.DataItem, "AgentName").ToString() != string.Empty)
{
int i = 0;
foreach (TableCell c in e.Row.Cells)
{
if (i >= 3)
{
TextBox tb = new TextBox();
tb.Text = c.Text;
tb.Style.Add("Width", "25px");
tb.Style.Add("Height", "15px");
c.Controls.Clear();
c.Controls.Add(tb);
}
i++;
}
}
else
{
e.Row.Visible = false;
}
}
if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[0].Visible = false;
int j = 0;
foreach (TableCell c in e.Row.Cells)
{
if (j >= 3)
{
DataRow dr = dt.Rows[dt.Rows.Count - 1];
LinkButton btn = new LinkButton();
btn.ID = j.ToString();
btn.CommandName ="fghfh"+j.ToString();
btn.Text = "Save" + dr[j - 1].ToString();
btn.CssClass = "button";
btn.Style.Add("align", "center");
btn.CommandArgument = dr[j - 1].ToString();
// btn.OnClientClick = "return ValidateTotalPercentage(this)";
c.Controls.Clear();
c.Controls.Add(btn);
} j++;
}
}
}
}