Asp.net 无objectdatasource的GridView编辑模式
在不使用对象数据源的情况下,可以强制使用网格视图编辑模式,我设置了EditIndex,但编辑模板在更改到ObjectDataSource的绑定之前不会显示Asp.net 无objectdatasource的GridView编辑模式,asp.net,data-binding,Asp.net,Data Binding,在不使用对象数据源的情况下,可以强制使用网格视图编辑模式,我设置了EditIndex,但编辑模板在更改到ObjectDataSource的绑定之前不会显示 谢谢你是说设置吗?因为您必须对gridview进行数据绑定,否则将无法显示任何项目。我不知道您是否指这样的示例,但我希望它会有所帮助: <asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing" OnRowUpdating="G
谢谢你是说设置吗?因为您必须对gridview进行数据绑定,否则将无法显示任何项目。我不知道您是否指这样的示例,但我希望它会有所帮助:
<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>
代码隐藏:
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;
}
}
public分部类\u默认值:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
}
受保护的无效GridView1_行编辑(对象发送方,GridViewEditEventArgs e)
{
GridView1.EditIndex=e.NewEditIndex;
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
受保护的无效GridView1_行更新(对象发送方,GridViewUpdateEventArgs e)
{
GridView1.EditIndex=-1;
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
受保护的无效GridView1\u行取消编辑(对象发件人,GridViewCancelEditEventArgs e)
{
GridView1.EditIndex=-1;
GridView1.DataSource=ItemRepo.GetItemList();
GridView1.DataBind();
}
}
类项目
{
公共字符串名称{get;set;}
}
类别项目报告
{
公共静态列表GetItemList()
{
列表=新列表();
添加(新项(){Name=“Item1”});
添加(新项(){Name=“Item2”});
添加(新项(){Name=“Item3”});
添加(新项(){Name=“Item4”});
添加(新项(){Name=“Item5”});
退货清单;
}
}
我认为您的问题可能不是在设置editindex后对gridview进行数据绑定