编辑DataGrid控件(一)

转载 2006年05月20日 14:07:00
在DataGrid中任何位置添加<asp:EditCommandColumn></ asp:EditCommandColumn>就可以进行就地编辑,其中可以在EditCommandColumn中设置EditText,CancelText和UpdateText等属性,就可以对DataGird进行就地编辑了。

  我们以SQL Server2000中自带的数据库Northwind中表Employees为例。

  下面为能就地编辑的DataGrid控件:

 

  Edit.aspx:
  <asp:DataGrid Runat="server" CellPadding="2" CellSpacing="0" id="DataGrid1" Font-Name="Verdana"
 Font-Size="x-small" AutoGenerateColumns="False" BorderColor="black" BorderStyle="Solid" BorderWidth="1px"
 DataKeyField="EmployeeID">
  <HeaderStyle BackColor="brown" />
  <AlternatingItemStyle BackColor="palegoldenrod" />
  <ItemStyle BackColor="beige"></ItemStyle>
  <Columns>
    <asp:BoundColumn DataField="EmployeeID" HeaderText="ID" ReadOnly="True">
        <ItemStyle BackColor="lightblue" />
    </asp:BoundColumn>
    <asp:TemplateColumn HeaderText="Employee Name">
        <ItemTemplate>
   <%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")+"<b>"+
    DataBinder.Eval(Container.DataItem,"FirstName")+"</b>"+
    DataBinder.Eval(Container.DataItem,"LastName")%>
 </ItemTemplate>
   </asp:TemplateColumn>
   <asp:BoundColumn DataField="title" HeaderText="Position" />
   <asp:BoundColumn DataField="Country" HeaderText="From" />
   <asp:EditCommandColumn CancelText="Cancel" EditText="Edit" UpdateText="Update" ButtonType="LinkButton">      
   </asp:EditCommandColumn>
  </Columns>
</asp:DataGrid>


Edit.aspx.cs
 private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if (!Page.IsPostBack)
   {
    UpdateView();
   }
  }

  private void UpdateView()
  {
   SqlConnection myconn=new SqlConnection("DATABASE=Northwind;SERVER=localhost;UID=sa;PWD=;");
   string strsql="SELECT employeeid, titleofcourtesy, firstname, lastname, title, country FROM Employees";
   SqlDataAdapter da=new SqlDataAdapter(strsql,myconn);
   DataSet ds=new DataSet();
   da.Fill(ds,"MyTable");
   DataGrid1.DataSource=ds.Tables["MyTable"];
   DataGrid1.DataBind();
  }

private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   DataGrid1.EditItemIndex=-1;
   UpdateView();
  }

  private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   DataGrid1.EditItemIndex=e.Item.ItemIndex;
   UpdateView();
  }

  private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   int iPostion=2;
   int iFrom=3;
   TextBox txtPostion=(TextBox)e.Item.Cells[iPostion].Controls[0];
   TextBox txtFrom=(TextBox)e.Item.Cells[iFrom].Controls[0];

   StringBuilder sb=new StringBuilder();
   sb.Append("Update Employees set ");
   sb.Append("Title=@Title,Country=@Country ");
   sb.Append("where EmployeeID=@EmployeeID ");
            SqlConnection myconn=new SqlConnection("DATABASE=Northwind;SERVER=localhost;UID=sa;PWD=;");
   SqlCommand cmd=new SqlCommand(sb.ToString(),myconn);

   SqlParameter p1=new SqlParameter("@EmployeeID",SqlDbType.Int);
   p1.Direction=ParameterDirection.Input;
   p1.Value=DataGrid1.DataKeys[e.Item.ItemIndex];
   cmd.Parameters.Add(p1);

   SqlParameter p2=new SqlParameter("@Title",SqlDbType.NVarChar,30);
   p2.Direction=ParameterDirection.Input;
   p2.Value=txtPostion.Text;
   cmd.Parameters.Add(p2);
           
   SqlParameter p3=new SqlParameter("@Country",SqlDbType.NVarChar,15);
   p3.Direction=ParameterDirection.Input;
   p3.Value=txtFrom.Text;
   cmd.Parameters.Add(p3);

   myconn.Open();
   cmd.ExecuteNonQuery();
   myconn.Close();
           
   DataGrid1.EditItemIndex=-1;
   UpdateView();   
  }
 

 如果你想把界面搞得花俏一些的话,可以用图片来代替文字。 

市委组织部考核项目——利用EasyUi中可编辑的DataGrid控件对多行数据进行编辑并提交

市委组织部考核项目中需要录入原始数据,拿开发区的数据录入举例说明,见下图,需要给查询出的单位录入定量成绩和定性成绩,开始使用弹出框的形式逐条进行编辑,后来考虑如果每一条都需要弹出一次弹出框,每一条都需...
  • cjr15233661143
  • cjr15233661143
  • 2014年02月11日 19:35
  • 11240

VC DataGrid控件使用总结

MS CDataGrid控件用法详解 本文示例源代码或素材下载 。DataGrid控件是VC方便地用来显示数据的一个极好的网格控件,我不否认网上还有期它不少优秀的网格控件,但我总喜欢使用微...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年04月01日 18:37
  • 1683

easyui datagrid 设置可编辑行

var Address = [{ "value": "1", "text": "CHINA" }, { "value": "2", "text": "USA" }, { "value": "3"...
  • gengyazhou123
  • gengyazhou123
  • 2016年07月12日 22:56
  • 4060

Flex控件_datagrid_编辑功能

1.datagrid编辑功能简介     当我们点击datagrid中的一个单元格进行编辑时,可结合使用一些组件,RadioButtonGroup、checkbox、ComboBox等     d...
  • catherine0_0
  • catherine0_0
  • 2014年05月08日 10:22
  • 1012

市委组织部考核项目——利用EasyUi中可编辑的DataGrid控件对多行数据进行编辑并提交

市委组织部考核项目中需要录入原始数据,拿开发区的数据录入举例说明,见下图,需要给查询出的单位录入定量成绩和定性成绩,开始使用弹出框的形式逐条进行编辑,后来考虑如果每一条都需要弹出一次弹出框,每一条都需...
  • cjr15233661143
  • cjr15233661143
  • 2014年02月11日 19:35
  • 11240

VB中DataGrid_控件的使用秘集

  • 2013年05月21日 11:28
  • 27KB
  • 下载

使用Flex开发DataGrid分页控件应用支持客户端及服务端

  • 2011年04月26日 13:51
  • 74KB
  • 下载

.net下功能強大的Datagrid控件

  • 2009年10月09日 16:34
  • 3.97MB
  • 下载

ASP.NET中DataGrid和DataList控件用法比较

  • 2007年05月10日 16:00
  • 41KB
  • 下载

Mobile下自定义DataGrid控件源代码

  • 2009年06月23日 09:22
  • 895KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编辑DataGrid控件(一)
举报原因:
原因补充:

(最多只允许输入30个字)