2010-08-27 6 views
0

Est-il possible de forcer le mode d'édition en mode Grille sans utiliser la source de données objet, je mis EditIndex, mais le modèle d'édition est jamais montré jusqu'à ce que je change la liaison à ObjectDataSourcemode d'édition GridView sans ObjectDataSource

Merci

Répondre

0

Je ne sais pas si vous voulez dire un tel exemple, mais j'espère que ce sera utile:

<asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing" 
    OnRowUpdating="GridView1_RowUpdating" 
    onrowcancelingedit="GridView1_RowCancelingEdit"> 
    <Columns> 
     <asp:CommandField EditText="Edit" UpdateText="Update" ShowEditButton="true" /> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Label ID="lbl" runat="server" Text='<%# Eval("Name") %>'></asp:Label> 
      </ItemTemplate> 
      <EditItemTemplate> 
       <asp:TextBox ID="txt" runat="server" Text='<%# Eval("Name") %>'></asp:TextBox> 
      </EditItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

code Derrière:

public partial class _Default : System.Web.UI.Page 
{ 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      GridView1.DataSource = ItemRepo.GetItemList(); 
      GridView1.DataBind(); 
     } 
    } 
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
     GridView1.EditIndex = e.NewEditIndex; 
     GridView1.DataSource = ItemRepo.GetItemList(); 
     GridView1.DataBind(); 
    } 
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 
     GridView1.EditIndex = -1; 
     GridView1.DataSource = ItemRepo.GetItemList(); 
     GridView1.DataBind(); 
    } 
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) 
    { 
     GridView1.EditIndex = -1; 
     GridView1.DataSource = ItemRepo.GetItemList(); 
     GridView1.DataBind(); 
    } 
} 

class Item 
{ 
    public string Name { get; set; } 
} 
class ItemRepo 
{ 
    public static List<Item> GetItemList() 
    { 
     List<Item> list = new List<Item>(); 
     list.Add(new Item() { Name = "Item1" }); 
     list.Add(new Item() { Name = "Item2" }); 
     list.Add(new Item() { Name = "Item3" }); 
     list.Add(new Item() { Name = "Item4" }); 
     list.Add(new Item() { Name = "Item5" }); 
     return list; 
    } 
} 

Je pense que votre problème peut être pas Databinding GridView après avoir réglé editindex.

0

Voulez-vous dire Edit-Mode as default? Parce que vous devez cataloguer votre gridview, sinon il n'y a aucun élément à montrer.

Questions connexes