Gridview中的编辑模板与项模板的用法
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server" BorderColor="Black"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowediting="GridView1_RowEditing"
onrowdatabound="GridView1_RowDataBound" onrowupdating="GridView1_RowUpdating">
<Columns>
<asp:TemplateField HeaderText ="ID">
<ItemTemplate>
<%#Eval("CustomerID") %>
</ItemTemplate>
<EditItemTemplate>
<%#Eval("CustomerID") %>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="Name">
<ItemTemplate>
<%#Eval("CompanyName") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text ='<%#Eval("CompanyName") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="Contact">
<ItemTemplate>
<%#Eval("ContactName") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text ='<%#Eval("ContactName") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="Address">
<ItemTemplate>
<%#Eval("Address") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text ='<%#Eval("Address") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="City">
<ItemTemplate>
<%#Eval("City") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="编辑">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="编辑" CommandName="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="Button2" runat="server" Text="修改" CommandName="Update" />
<asp:Button ID="Button3" runat="server" Text="取消" CommandName="Cancel" />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
databind();
}
}
public void databind()
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
SqlCommand cmd = new SqlCommand("SELECT * FROM CUSTOMERS", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
this.GridView1.DataSource = ds.Tables[];
this.GridView1.DataKeyNames = new string[] { "CustomerID", "City" };
this.GridView1.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
this.GridView1.EditIndex = e.NewEditIndex;
databind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
this.GridView1.EditIndex = -;
databind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
foreach (TableCell item in e.Row.Cells)
{
item.Attributes.Add("style", "border-color:black"); }
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList dr = (DropDownList)e.Row.FindControl("DropDownList1");
if (dr != null)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
SqlCommand cmd = new SqlCommand("Select distinct City from Customers", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
dr.DataSource = ds.Tables[];
dr.DataTextField = "City";
dr.DataValueField = "City";
dr.DataBind();
dr.SelectedItem.Text = this.GridView1.DataKeys[e.Row.RowIndex].Values[].ToString();
}
}
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
SqlCommand cmd = new SqlCommand("Update Customers set CompanyName=@CompanyName,ContactName=@ContactName,City=@City where CustomerID=@CustomerID", con);
SqlParameter[] ps = new SqlParameter[];
ps[] = new SqlParameter("@CompanyName",SqlDbType.NVarChar,);
ps[] = new SqlParameter("@ContactName",SqlDbType.NVarChar,);
ps[] = new SqlParameter("@City",SqlDbType.NVarChar,);
ps[] = new SqlParameter("@CustomerID",SqlDbType.NChar,);
ps[].Value = ((TextBox)this.GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text.Trim();
ps[].Value = ((TextBox)this.GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text.Trim();
ps[].Value = ((DropDownList)this.GridView1.Rows[e.RowIndex].FindControl("DropDownList1")).SelectedItem.Text;
ps[].Value = this.GridView1.DataKeys[e.RowIndex].Values[];
cmd.Parameters.AddRange(ps);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd.ExecuteNonQuery();
this.GridView1.EditIndex = -;
databind();
}
Gridview中的编辑模板与项模板的用法的更多相关文章
- Win10系列:JavaScript 项目模板中的文件和项模板文件
通过上面内容的学习,相信读者已经对各种项目模板和项模板有了大致的了解,本节将进一步介绍项目模板中默认包含的项目文件以及项模板文件,首先讲解这些文件中的初始内容以及作用,然后介绍在一个页面中如何添加控件 ...
- Win10系列:JavaScript 项目模板和项模板
使用Visual Studio 开发Windows应用商店应用时,通过其提供的模板可以帮助我们快速地创建一个应用.其中,在新建一个Windows应用商店应用程序项目时可以在项目模板中选择所需要的模板类 ...
- ListBox项模板中绑定ListBoxItem属性的方法
原文:ListBox项模板中绑定ListBoxItem属性的方法 <ListBox> <ListBox.ItemTemplate> <DataTemplate> & ...
- WijmoJS 中自定义 React 菜单和列表项模板
WijmoJS 中自定义 React 菜单和列表项模板 在V2019.0 Update2 的全新版本中,React 框架下 WijmoJS 的前端UI组件功能再度增强. WijmoJS的菜单和类似列表 ...
- GridView 中Item项居中显示
直接在GridView中设置 android:gravity="center"这个属性是不起作用的.要在你adapter中的布局文件中设 置android:layout_gravi ...
- 扩展GridView控件——为内容项添加拖放及分组功能
引言 相信大家对GridView都不陌生,是非常有用的控件,用于平铺有序的显示多个内容项.打开任何WinRT应用或者是微软合作商的网站,都会在APP中发现GridView的使用.“Tiles”提供了一 ...
- Js获取Gridview中Dropdownlist选中状态
在Gridview中加入Dropdownlist模板列,加入DropDownlist 是一种常用的操作,其中涉及到如何获取选择项和Gridview重新绑定两个要点. 如图 前台代码如下 <%@ ...
- 背水一战 Windows 10 (51) - 控件(集合类): ItemsControl - 项模板选择器, 数据分组
[源码下载] 背水一战 Windows 10 (51) - 控件(集合类): ItemsControl - 项模板选择器, 数据分组 作者:webabcd 介绍背水一战 Windows 10 之 控件 ...
- GridView中显示时间日期格式问题
以下都是GridView基本常用的日期,时间格式 形式 语法 结果 注释 数字 {0:N2} 12.36 数字 {0:N0} 13 货币 {0:c2} $12.36 货币 {0:c4} $ ...
随机推荐
- iOS 报错信息: dyld: Library not loaded: @rpath/XCTest.framework/XCTest Referenced from
新建项目,引入framework,运行时出现警告:dyld: Library not loaded: @rpath/RLLibrary.framework/RLLibrary Referenced ...
- 彻底搞懂JVM类加载器:基本概念
本文阅读时间大约9分钟. 写在前面 在Java面试中,在考察完项目经验.基础技术后,我会根据候选人的特点进行知识深度的考察,如果候选人简历上有写JVM(Java虚拟机)相关的东西,那么我常常会问一些J ...
- Jmeter测试技巧
最近在用Jmeter做接口测试,使用中整理了一些组件的使用技巧. 一. 用户定义的变量 都是全局变量,无论是否在某个线程组或请求内,都是采用最新赋值的内容 二. 固定定时器 在单个请求内是让本请求线程 ...
- django framework插件使用1
安装 REST框架要求以下内容: Python(3.5.3.6.3.7) Django(1.11.2.0.2.1.2.2) pip install djangorestframework pip in ...
- linux Yum相关
python编写,是centos 和 redhat的包管理工具,类似于 pip 常用的yum命令 Yum list 查看所有的包 Yum list python 列出所有python包 yum sea ...
- mapping 映射
es的映射就相当于编程语言中给变量定义类型,定义后的变量使用起来更高效,未定义的变量相较于定义的性能肯定是不如的.所以需要掌握es映射. 未定义映射es会对提供的数据进行类型猜测,如果对自动判断的类型 ...
- PAT 乙级 1091.N-自守数 C++/Java
题目来源 如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”.例如 3,而 2 的末尾两位正好是 9,所以 9 是一个 3-自守数. 本题就请你编写程序判断 ...
- 使用WIFI网卡 wpa_supplicant
在上篇文章中,编译了应用程序iw,它使得我们的开发板可以通过usb wifi网卡连接到无线热点,为了方便实验,我们采用了手机设置了无线热点.对手机的热点有4中安全方式:无WEPWPAWPA2使用iw工 ...
- python字典中显示中文
#coding=utf-8import jsondict={'title':"这是中文"}print json.dumps(dict,ensure_ascii=False,enco ...
- 洛谷P4549 裴蜀定理 / Min
原题链接 题目描述 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1X1+...AnXn>0,且S的值最小 输入输出格式 输入格式: 第一行给出数字N,代表有N个数 下 ...