asp.net gridview 点了编辑不处于编辑状态
很奇怪当我点了编辑以后,gridview不处于编辑状态,请看代码:前台:<body><formid="form1"runat="server"><div><asp:Gri...
很奇怪当我点了编辑以后,gridview不处于编辑状态,请看代码:
前台:
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AllowSorting="True"
EnableModelValidation="True" onrowediting="GridView1_RowEditing" PageIndex="10">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
后台:
public partial class _Default : System.Web.UI.Page
{
Operate oprt = new Operate();
public static string cmdTxt = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
cmdTxt = "select id,merchantName from deal_blog order by id desc";
GridView1.DataSource = oprt.GetDataSet(cmdTxt);
GridView1.DataKeyNames = new string[] { "id" };//主键
GridView1.DataBind();
}
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = -1;
DataBind();
}
public void DataBind()
{
GridView1.DataSource = oprt.GetDataSet(cmdTxt);
GridView1.DataKeyNames = new string[] { "id" }; //主键
GridView1.DataBind();
}
}
请问是什么原因啊 展开
前台:
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AllowSorting="True"
EnableModelValidation="True" onrowediting="GridView1_RowEditing" PageIndex="10">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
后台:
public partial class _Default : System.Web.UI.Page
{
Operate oprt = new Operate();
public static string cmdTxt = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
cmdTxt = "select id,merchantName from deal_blog order by id desc";
GridView1.DataSource = oprt.GetDataSet(cmdTxt);
GridView1.DataKeyNames = new string[] { "id" };//主键
GridView1.DataBind();
}
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = -1;
DataBind();
}
public void DataBind()
{
GridView1.DataSource = oprt.GetDataSet(cmdTxt);
GridView1.DataKeyNames = new string[] { "id" }; //主键
GridView1.DataBind();
}
}
请问是什么原因啊 展开
5个回答
展开全部
首先 我看见你的
<asp:GridView ID="GridView1" runat="server" AllowSorting="True"
EnableModelValidation="True" onrowediting="GridView1_RowEditing" PageIndex="10">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
GridView列表,只有处理命令列,没有其他的数据列!不知道你要编辑什么东西 呵呵!
第一 GridView要想使用自带的编辑、更新、删除、等功能时,你的所有数据展现列必须是模板列,也就是 TemplateField 类型的,
只有设置成为TemplateField 类型的列,你才可以在GridView的编辑模板中才可以看到,每一个TemplateField 都有一个ItemTemplate和EditItemTemplate,这个ItemTemplate项里有一个Label控件,它是用来显示这列绑定的数据的。而EditItemTemplate里面有一个TextBox控件,其实你点击“编辑”展现的其实就是这个TextBox控件。
你的GridView里面没有一个TemplateField 类型的列,怎么编辑呀,呵呵
<asp:GridView ID="GridView1" runat="server" AllowSorting="True"
EnableModelValidation="True" onrowediting="GridView1_RowEditing" PageIndex="10">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
GridView列表,只有处理命令列,没有其他的数据列!不知道你要编辑什么东西 呵呵!
第一 GridView要想使用自带的编辑、更新、删除、等功能时,你的所有数据展现列必须是模板列,也就是 TemplateField 类型的,
只有设置成为TemplateField 类型的列,你才可以在GridView的编辑模板中才可以看到,每一个TemplateField 都有一个ItemTemplate和EditItemTemplate,这个ItemTemplate项里有一个Label控件,它是用来显示这列绑定的数据的。而EditItemTemplate里面有一个TextBox控件,其实你点击“编辑”展现的其实就是这个TextBox控件。
你的GridView里面没有一个TemplateField 类型的列,怎么编辑呀,呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编辑功能需要有对应的编辑模版,在设置编辑行后,对应的编辑模版就会显示处于来
GridView1.EditIndex = 0 设置为第一行开始编辑,则编辑行就会显示。
GridView1.EditIndex = 0 设置为第一行开始编辑,则编辑行就会显示。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
GridView1.EditIndex = -1;
这句话的意思就是没有需要编辑的行,你在每次编辑的时候设置为-1肯定不对,这是要在点击取消的时候才能这么用
修改为
GridView1.EditIndex = e.index;就行了
这句话的意思就是没有需要编辑的行,你在每次编辑的时候设置为-1肯定不对,这是要在点击取消的时候才能这么用
修改为
GridView1.EditIndex = e.index;就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<Columns>
<asp:TemplateField SortExpression="TrxDate">
<ItemTemplate>
<asp:Label ID="lblDate" runat="server" Text='<%# Eval("TrxDate") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtDate" runat="server" Width="74px" CssClass="textbox" Text='<%# Eval("TrxDate") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
编辑状态要添加一个EditItemTemplate
<asp:TemplateField SortExpression="TrxDate">
<ItemTemplate>
<asp:Label ID="lblDate" runat="server" Text='<%# Eval("TrxDate") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtDate" runat="server" Width="74px" CssClass="textbox" Text='<%# Eval("TrxDate") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
编辑状态要添加一个EditItemTemplate
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去掉
GridView1.EditIndex = -1;
GridView1.EditIndex = -1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询