<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvCustomer" runat="server" Width="100%" AutoGenerateColumns="False"
AllowPaging="True" DataKeyNames="CustomerID" OnPageIndexChanging="gvCustomer_PageIndexChanging"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None"
BorderWidth="1px" CellPadding="3" onrowediting="gvCustomer_RowEditing"
onrowcancelingedit="gvCustomer_RowCancelingEdit"
onrowupdating="gvCustomer_RowUpdating">
<FooterStyle BackColor="White" ForeColor="#000066" />
<RowStyle ForeColor="#000066" />
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="客户ID" />
<asp:TemplateField HeaderText="公司名称">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CompanyName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("CompanyName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ContactName" HeaderText="联系人" />
<asp:BoundField DataField="ContactTitle" HeaderText="联系人头衔" />
<asp:BoundField DataField="Address" HeaderText="地址" />
<asp:CommandField ShowEditButton="True" />
</Columns>
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>
<br />
<asp:Label ID="lblMessage" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using DataLinq;
using System.Data.Linq;
using BusinessFacade;public partial class _Default : System.Web.UI.Page
{
CustomerBFL objCustomer = new CustomerBFL();
protected void Page_Load(object sender, EventArgs e)
{
BindGridView();
} private void BindGridView()
{
Table<Customer> localDataTable;
localDataTable = objCustomer.SelectRecordAll(); gvCustomer.DataSource = (from tbl in localDataTable
select new
{
tbl.CustomerID,
tbl.CompanyName,
tbl.ContactName,
tbl.ContactTitle,
tbl.Address
});
gvCustomer.DataBind(); if (localDataTable.Count() == 0)
{
lblMessage.Text = "没有找到记录!";
}
} protected void gvCustomer_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.gvCustomer.PageIndex = e.NewPageIndex;
BindGridView();
} protected void gvCustomer_RowEditing(object sender, GridViewEditEventArgs e)
{
gvCustomer.EditIndex = e.NewEditIndex;
BindGridView();
} protected void gvCustomer_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
Customer cus = new Customer(); //不论是用模板列还是BoundField列,用下面的方式取出来的值都是原来的那个值,修改后的值取不到
//而且e.NewValues也是空值
cus.CustomerID = ((TextBox)gvCustomer.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
Customer c = (Customer)gvCustomer.Rows[e.RowIndex].DataItem;
} protected void gvCustomer_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvCustomer.EditIndex = -1;
BindGridView();
}
}
解决方案 »
- 懂上传控件FileUpload的进来
- 请问"SQL Server 不存在或访问被拒绝"怎么回事?
- 服务器问题。。。急!!
- 两个sql语句 不知道怎么写。
- 有关DropDownList的问题!
- GridView 编辑问题(CodeBehind)
- vs2008启动项目时提示“无法连接到asp.net development server”
- 为什么在我自己机器上建立的aspx网页别人看不见?
- 编译器错误信息,DataGrid分页时遇到,求救!
- 把数据库中的数据bind到了一个datagrid,如何增加一行使其值等于某个字段的10%?
- 在RowUpdating事件中娶不到值?
- RowUpdating取不到最新值
protected void Page_Load(object sender, EventArgs e)
{
BindGridView();
}
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
BindGridView();
}
}
{
BindGridView();
}
{
BindGridView();
}
点击保存后页面回发,重新绑定了。取不到是正常的,取到了还奇了怪了。
gvCustomer.Rows[e.RowIndex].FindControls("TextBox1").Text;