comment détecter l'affichage de la grille en mode d'édition à la ligne de données lié
je veux juste détecter que l'affichage de la grille en ligne en mode édition et je veux juste de se lier dans la liste déroulante en ce moment. j'ai trouvé beaucoup d'article et je fais ce code :
protected void GV_ViewCustomers_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
{
using (DataClassesDataContext db = new DataClassesDataContext())
{
DropDownList dl = (DropDownList)e.Row.FindControl("DDL_Types1");
dl.DataSource = db.PartyTypes.Select(t => t).ToList();
dl.DataBind();
dl.SelectedValue = DataBinder.Eval(e.Row.DataItem, "type_id").ToString();
DropDownList dl1 = (DropDownList)e.Row.FindControl("DDL_CountryNames1");
dl1.DataSource = db.Countries.Select(c => c).ToList();
if (!string.IsNullOrEmpty(DataBinder.Eval(e.Row.DataItem, "country_id").ToString()))
{
dl1.SelectedValue = DataBinder.Eval(e.Row.DataItem, "country_id").ToString();
DropDownList dl2 = (DropDownList)e.Row.FindControl("DDL_StateNames1");
dl2.DataSource = db.States.Where(s => s.country_id.Equals(int.Parse(DataBinder.Eval(e.Row.DataItem, "country_id").ToString()))).Select(s => s).ToList();
dl2.DataBind();
}
DataRowView rowView1 = (DataRowView)e.Row.DataItem;
if (rowView1["UserOFC"] != null)
{
(e.Row.FindControl("chk_UserOFC1") as CheckBox).Checked = Convert.ToBoolean(e.Row.DataItem.Equals("UserOFC").ToString());
}
if (rowView1["UserVAT"] != null)
{
(e.Row.FindControl("chk_UserVAT1") as CheckBox).Checked = Convert.ToBoolean(e.Row.DataItem.Equals("UserVAT").ToString());
}
if (rowView1["UserINV"] != null)
{
(e.Row.FindControl("chk_UserINV1") as CheckBox).Checked = Convert.ToBoolean(e.Row.DataItem.Equals("UserINV").ToString());
}
if (rowView1["UserNone"] != null)
{
(e.Row.FindControl("chk_UserNone1") as CheckBox).Checked = Convert.ToBoolean(e.Row.DataItem.Equals("UserNone").ToString());
}
}
UpdatePanel10.Update();
}
if (e.Row.RowType == DataControlRowType.Footer)
{
using (DataClassesDataContext db = new DataClassesDataContext())
{
DropDownList ddl1 = (DropDownList)e.Row.FindControl("DDL_Types");
ddl1.DataSource = db.PartyTypes.Select(p => p).ToList();
ddl1.DataBind();
DropDownList ddl2 = (DropDownList)e.Row.FindControl("DDL_CountryNames");
ddl2.DataSource = db.Countries.Select(c => c).ToList();
ddl2.DataBind();
}
}
}
comment jamais le pied de page dans la liste déroulante avec succès lie jusqu'mais en modifier l'élément de modèle non.
merci de m'aider...
protected void GV_ViewCustomers_RowEditing(object sender, GridViewEditEventArgs e)
{
GV_ViewCustomers.EditIndex = e.NewEditIndex;
this.FillGrid((String)Session["StartAlpha"] ?? null, (int)Session["GroupByENTYPE"] , (String)Session["ColumnName"] ?? null, (String)Session["SearchText"] ?? null);
UpdatePanel10.Update();
MPE.Show();
}
Vous devez vous connecter pour publier un commentaire.
Pas sûr de ce que votre problème est en fait, mais vous avez besoin de vérifier pour
RowState=Edit
également dans le pied de page.Ainsi, au lieu de:
ce:
DataControlRowState.Edit
seulement pour une des lignes, mais pas pour le pied de page en-ligne qui signifie que le code est toujours exécuté, même si vous n'êtes pas en mode d'édition.http://www.dotnetfunda.com/codes/show/123/how-to-check-for-edit-mode-of-the-gridview-row-irrespective-of-it-is-n