GridView控件的问题 在ASP中怎么在点击GridView控件的某一个单元格时能够对此单元格进行编辑,并且支持Tab键和上下左右方向键在表中的使用,也就是类似于excel的功能,只是数据时放在数据库的表中的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哎,我做了个repeater的不知道你要不要 gridview自带编辑EditTemplateprotected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e) { gv.EditIndex = e.RowIndex; int id = int.Parse(gv.DataKeys[e.RowIndex].Value.ToString()); string str = ((TextBox)gv.Rows[e.RowIndex].FindControl("txt")).Text.Trim(); gv.EditIndex = -1; BindData(); } <asp:TemplateField HeaderText="更新机构信息"> <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" /> <ItemTemplate> <asp:LinkButton runat="server" Text="编辑" CommandName="Edit" CausesValidation="false"></asp:LinkButton> </ItemTemplate> <EditItemTemplate> <asp:LinkButton runat="server" Text="更新" CommandName="Update" CausesValidation="false" ID="Update"></asp:LinkButton> <asp:LinkButton runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"></asp:LinkButton> </EditItemTemplate> </asp:TemplateField>后台代码: protected void gvBranch_RowEditing(object sender, GridViewEditEventArgs e) { this.gvBranch.EditIndex = e.NewEditIndex; BindDataToGridView(); }protected void gvBranch_RowUpdating(object sender, GridViewUpdateEventArgs e) { string strcon = System.Configuration.ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString; SqlConnection con = new SqlConnection(strcon); string str = gvBranch.DataKeys[e.RowIndex].Value.ToString(); string mystr = "update dbBranchInfo set BranchName='" + ((TextBox)(this.gvBranch.Rows[e.RowIndex].Cells[1].Controls[0])).Text.Trim().ToString() + "',SimpleCode='" + ((TextBox)(this.gvBranch.Rows[e.RowIndex].Cells[2].Controls[0])).Text.Trim().ToString() + "'where BranchID='" + str + "'"; SqlCommand cmd=new SqlCommand(mystr,con); con.Open(); cmd.ExecuteNonQuery(); con.Close(); this.gvBranch.EditIndex = -1; BindDataToGridView(); } protected void gvBranch_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { gvBranch.EditIndex = -1; BindDataToGridView(); } 编辑和更新 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; bind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { string sql = "update student1 set sname='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() +"',address='"+ ((TextBox)GridView1.Rows[e.RowIndex ].Cells[1].Controls[0]).Text.ToString().Trim () +"',ssex='"+ ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim ()+"' "; SqlConnection sqlconn = new SqlConnection(conn); sqlconn.Open(); SqlCommand cmd = new SqlCommand(sql,sqlconn); cmd.ExecuteNonQuery(); sqlconn.Close(); GridView1.EditIndex = -1; bind(); } public void bind() { string sql = "select * from 表名"; SqlConnection sqlconn = new SqlConnection(conn); SqlCommand cmd = new SqlCommand(sql,sqlconn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds,"student1"); GridView1.DataSource = ds.Tables[0].DefaultView; GridView1.DataKeyNames = new string[] { "sno" }; GridView1.DataBind(); } 好像更新不了啊((TextBox)GridView1.Rows[e.RowIndex ].Cells[1].Controls[0]).Text.ToString().Trim () +"',ssex='"+ ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim ()+"'还是原来的值啊? aspx页面中如何正确添加keywords和descripiton aspnetpager 分页后为什么只有一页 在线等!求这种样式的图片替换代码 简单的数据库导入问题 求书,问几个问题 等价语句jointime.ToString("yyyy-MM-dd H:mm:ss") 关于<iframe>中的页面向parnet页面注册脚本的想法? 求助一个得到图片路径的与正则表达式 使用过梅花雨日历控件的大侠请进,HELP…… Submit按钮上的客户端脚本执行后,不提交,急死了.... 将文件目录加载在treeview出错 VS2005 创建新项目时没有ASP.NET web应用程序项目是怎么回事?
EditTemplate
protected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
gv.EditIndex = e.RowIndex;
int id = int.Parse(gv.DataKeys[e.RowIndex].Value.ToString());
string str = ((TextBox)gv.Rows[e.RowIndex].FindControl("txt")).Text.Trim();
gv.EditIndex = -1;
BindData();
}
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemTemplate>
<asp:LinkButton runat="server" Text="编辑" CommandName="Edit" CausesValidation="false"></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton runat="server" Text="更新" CommandName="Update" CausesValidation="false" ID="Update"></asp:LinkButton>
<asp:LinkButton runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"></asp:LinkButton>
</EditItemTemplate>
</asp:TemplateField>后台代码:
protected void gvBranch_RowEditing(object sender, GridViewEditEventArgs e)
{
this.gvBranch.EditIndex = e.NewEditIndex;
BindDataToGridView();
}protected void gvBranch_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string strcon = System.Configuration.ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString;
SqlConnection con = new SqlConnection(strcon);
string str = gvBranch.DataKeys[e.RowIndex].Value.ToString();
string mystr = "update dbBranchInfo set BranchName='" + ((TextBox)(this.gvBranch.Rows[e.RowIndex].Cells[1].Controls[0])).Text.Trim().ToString() +
"',SimpleCode='" + ((TextBox)(this.gvBranch.Rows[e.RowIndex].Cells[2].Controls[0])).Text.Trim().ToString() + "'where BranchID='" + str + "'";
SqlCommand cmd=new SqlCommand(mystr,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
this.gvBranch.EditIndex = -1;
BindDataToGridView();
} protected void gvBranch_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvBranch.EditIndex = -1;
BindDataToGridView();
}
{
GridView1.EditIndex = e.NewEditIndex;
bind();
} protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sql = "update student1 set sname='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() +"',address='"+
((TextBox)GridView1.Rows[e.RowIndex ].Cells[1].Controls[0]).Text.ToString().Trim () +"',ssex='"+
((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim ()+"' ";
SqlConnection sqlconn = new SqlConnection(conn);
sqlconn.Open();
SqlCommand cmd = new SqlCommand(sql,sqlconn);
cmd.ExecuteNonQuery();
sqlconn.Close();
GridView1.EditIndex = -1;
bind();
}
public void bind()
{
string sql = "select * from 表名";
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand(sql,sqlconn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds,"student1");
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataKeyNames = new string[] { "sno" };
GridView1.DataBind();
}
((TextBox)GridView1.Rows[e.RowIndex ].Cells[1].Controls[0]).Text.ToString().Trim () +"',ssex='"+
((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim ()+"'
还是原来的值啊?