GridView1.Columns.Clear(); CommandField cmdfield = new CommandField();
cmdfield.ShowSelectButton = true;
cmdfield.SelectText = "Select "; cmdfield.ShowEditButton = true;
cmdfield.EditText = "Edit";
cmdfield.ShowDeleteButton = true;
cmdfield.DeleteText = "Delete"; GridView1.EditIndex = -1; cmdfield.ButtonType = ButtonType.Link;
GridView1.Columns.Add(cmdfield); GridView1.DataKeyNames = new string[] { "property1" };
GridView1.DataSourceID = ObjectDataSource1.ID;
GridView1.DataBind();
ObjectDataSource1只有一列数据就是主键property1
GridView 点编辑后不能更改内容,请问哪里出了问题!!
cmdfield.ShowSelectButton = true;
cmdfield.SelectText = "Select "; cmdfield.ShowEditButton = true;
cmdfield.EditText = "Edit";
cmdfield.ShowDeleteButton = true;
cmdfield.DeleteText = "Delete"; GridView1.EditIndex = -1; cmdfield.ButtonType = ButtonType.Link;
GridView1.Columns.Add(cmdfield); GridView1.DataKeyNames = new string[] { "property1" };
GridView1.DataSourceID = ObjectDataSource1.ID;
GridView1.DataBind();
ObjectDataSource1只有一列数据就是主键property1
GridView 点编辑后不能更改内容,请问哪里出了问题!!
解决方案 »
- 谁有GRIDVIEW 的72绝技 完整版的
- 大家见过这种问题没有?
- 简单js
- 一问题大家给给思路...................
- 表单验证问题,在线急!
- datagrid里的column里,能不能显示像<%#container.dataitem("order_date")%>-<%#container.dataitem("item_id")%>
- 前辈们求帮忙 aspx页面调用dll的问题
- 请问:怎么配置摘要认证(digest)?我在IIS配置了"windows域服务器的简要认证",但是用任何帐户都不能访问,奇怪。
- 真不明白现在vs.net都可以让Web 窗体页处于网格布局模式来布局了.还要以前的那种老模式干嘛?
- 菜鸟50分求解:怎么读取这种XML中的信息?
- 登陆后采集Jsp页面输出的图片,也许是几行代码50RMB,掏宝直接给
- 伪静态
你的前台要自己写<EditTemplate></....模块
aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}
public void Bind()
{
//创建连接
SqlConnection con = new SqlConnection("server=.;uid=sa;password=sa;database=pubs");
SqlDataAdapter da = new SqlDataAdapter("select * from jobs", con);
//数据集
DataSet ds = new DataSet();
da.Fill(ds, "jobs");
this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind(); }
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{ }
/// <summary>
/// 删除事件
/// vs.net 2003的删除事件
/// private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
/// {
/// int id=int.Parse(this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString());
///
/// }
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = int.Parse(this.GridView1.Rows[e.RowIndex].Cells[0].Text);
string sql = "delete from jobs where job_id="+id+"";
Delete(sql);
Bind();
}
/// <summary>
/// 编辑事件
/// vs.net 2003编辑事件
/// private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
/// {
/// this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
/// }
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
this.GridView1.EditIndex = e.NewEditIndex;
Bind();
}
/// <summary>
/// (编辑)更新事件
/// vs.net 2003中(编辑更新事件)
/// private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
/// {
/// string studentPass=((TextBox)e.Item.Cells[2].Controls[0]).Text;
/// int sex = int.Parse(((RadioButtonList)e.Item.Cells[3].FindControl("RadioButtonList1")).SelectedItem.Value);
/// string birthday = ((TextBox)e.Item.Cells[4].Controls[0]).Text;
/// string EMail = ((TextBox)e.Item.Cells[5].Controls[0]).Text;
/// }
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int id = int.Parse(((TextBox)this.GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text);
string desc = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
string min = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
string max = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text;
string sql = "update jobs set job_desc='" + desc + "',min_lvl=" + min + ",max_lvl=" + max + " where job_id="+ id+"";
Update(sql);
this.GridView1.EditIndex = -1;
Bind();
}
public void Update(string sql)
{
SqlConnection con = new SqlConnection("server=.;uid=sa;password=sa;database=pubs");
SqlCommand com = new SqlCommand(sql, con);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
public void Delete(string sql)
{
SqlConnection con = new SqlConnection("server=.;uid=sa;password=sa;database=pubs");
SqlCommand com = new SqlCommand(sql, con);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
/// <summary>
/// (编辑)取消事件
/// vs.net 2003的(编辑)取消事件
/// private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
/// {
/// DataGrid1.EditItemIndex=-1;
/// }
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
this.GridView1.EditIndex = -1;
this.Bind();
}
}aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title><!--实现对GridView删除行时弹出对话框
将CommandField删除字段转换为TemplateField并且添加属性OnClientClick="return confirm('您确认删除该记录吗?')"
用HyperLinkField向页面传参
DataNavigateUrlFields="参数" DataNavigateUrlFormatString="page.aspx?id={0}"
-->
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" Style="position: relative" AutoGenerateColumns="False" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
<Columns>
<asp:BoundField HeaderText="编号" DataField="job_id" />
<asp:BoundField HeaderText="内容" DataField="job_desc" />
<asp:BoundField HeaderText="最小值" DataField="min_lvl" />
<asp:BoundField HeaderText="最大值" DataField="max_lvl" />
<asp:CommandField HeaderText="编辑" ShowEditButton="True" />
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除" OnClientClick="return confirm('您确认删除该记录吗?')"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField HeaderText="查看" Text="查看" DataNavigateUrlFormatString="page.aspx?id={0}" DataNavigateUrlFields="desc" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
这块是显示
</ItemTemplate>
<EditItemTemplate>
这块是编辑,把显示的Label都改成TextBox
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>