gridview 用法
来源:互联网 发布:淘宝衣服试用报告范文 编辑:程序博客网 时间:2024/05/04 13:52
先说说我的情况
1. GridView是AutoGenerateColumns="True",即列是自动生成的,但是由于各种需要,还添加了自己摸板列,如:
<asp:TemplateField HeaderText="详细情况">
<ItemTemplate>
<a href='bdgl03.aspx?ID= <%# DataBinder.Eval(Container.DataItem,"ID") %>'>详细情况 </a>
</ItemTemplate>
<ItemStyle Width="30px" BorderWidth="1px" HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
2.生成表格的Sql语句是CS文件中给出的,即在 if (!IsPostBack)中进行绑定数据.
3.该控件要来更新数据,因此加入了如下代码:
<asp:TemplateField HeaderText="编辑" ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
Text="更新"> </asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"> </asp:LinkButton>
</EditItemTemplate>
<ItemStyle BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" Width="120px" />
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
Text="编辑"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
我的问题是:
当我点击"编辑",修改数据后,再点"更新",此时执行GridView_RowUpdating事件,需要获取当前行的"可编辑框"的内容,(由于我的列是自动生成的),没有用模板,因此每一个可编辑框没有名字,我用如下方法获取:
string ss = (this.myGridView.Rows[e.RowIndex].Cells[4]).ToString(); (其中4是列序号)
用此方法可以获取主键列的数值(不可编辑的显示数据),不能获取 可编辑框 中的数据.
请大家给个办法.
100 修改 删除 举报 引用 回复
该控件中数据不能指定一个固定的表,根据页面参数来决定.所以不能进行模板绑定.
修改 删除 举报 引用 回复
GridLines="None" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="5" AutoGenerateColumns="false" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
<Columns>
<asp:BoundField DataField="u_id" HeaderText="用户ID" ReadOnly="True"/>
<asp:BoundField DataField="u_name" HeaderText="用户名" />
<asp:BoundField DataField="u_age" HeaderText="用户年龄" />
<asp:BoundField DataField="u_sex" HeaderText="用户性别" />
<asp:BoundField DataField="u_phone" HeaderText="用户电话" />
<asp:BoundField DataField="u_email" HeaderText="用户Email" />
<asp:BoundField DataField="u_address" HeaderText="用户地址" />
<asp:CommandField HeaderText="选择" ShowSelectButton="true" />
<asp:CommandField HeaderText="删除" ShowDeleteButton="true"/>
<asp:CommandField HeaderText="编辑" ShowEditButton="true" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="Red" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
--------------------------------------------------------------
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr2 = "delete from Users where u_id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand(sqlstr2,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Databinds();
}
//更新的功能
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
SqlConnection con = new SqlConnection(str);
string sqlstr = "update Users set u_name='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',u_age='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',u_sex='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',u_phone='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',u_email='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "',u_address='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim() + "'where u_id='"
+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
SqlCommand cmd = new SqlCommand(sqlstr,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
Databinds();
}
//编辑的功能
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
Databinds();
}
//退出编辑
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
Databinds();
} 修改 删除 举报 引用 回复
http://download.csdn.net/source/397336
如果下载不了,请给版大留言:
http://webim.csdn.net/Messages/chenxhcc.ashx
如果看了这个例子,还是解决不了你的问题,Insus.NET无语了! 修改 删除 举报 引用 回复
1. GridView是AutoGenerateColumns="True",即列是自动生成的,但是由于各种需要,还添加了自己摸板列,如:
<asp:TemplateField HeaderText="详细情况">
<ItemTemplate>
<a href='bdgl03.aspx?ID= <%# DataBinder.Eval(Container.DataItem,"ID") %>'>详细情况 </a>
</ItemTemplate>
<ItemStyle Width="30px" BorderWidth="1px" HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
2.生成表格的Sql语句是CS文件中给出的,即在 if (!IsPostBack)中进行绑定数据.
3.该控件要来更新数据,因此加入了如下代码:
<asp:TemplateField HeaderText="编辑" ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
Text="更新"> </asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"> </asp:LinkButton>
</EditItemTemplate>
<ItemStyle BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" Width="120px" />
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
Text="编辑"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
我的问题是:
当我点击"编辑",修改数据后,再点"更新",此时执行GridView_RowUpdating事件,需要获取当前行的"可编辑框"的内容,(由于我的列是自动生成的),没有用模板,因此每一个可编辑框没有名字,我用如下方法获取:
string ss = (this.myGridView.Rows[e.RowIndex].Cells[4]).ToString(); (其中4是列序号)
用此方法可以获取主键列的数值(不可编辑的显示数据),不能获取 可编辑框 中的数据.
请大家给个办法.
100 修改 删除 举报 引用 回复
- 加为好友
- 发送私信
- 在线聊天
- netspies
- 等级:
- 可用分等级:
- 总技术分:
- 总技术分排名:
该控件中数据不能指定一个固定的表,根据页面参数来决定.所以不能进行模板绑定.
修改 删除 举报 引用 回复
- 加为好友
- 发送私信
- 在线聊天
- Ystart328Y
- 等级:
- 可用分等级:
- 总技术分:
- 总技术分排名:
GridLines="None" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="5" AutoGenerateColumns="false" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
<Columns>
<asp:BoundField DataField="u_id" HeaderText="用户ID" ReadOnly="True"/>
<asp:BoundField DataField="u_name" HeaderText="用户名" />
<asp:BoundField DataField="u_age" HeaderText="用户年龄" />
<asp:BoundField DataField="u_sex" HeaderText="用户性别" />
<asp:BoundField DataField="u_phone" HeaderText="用户电话" />
<asp:BoundField DataField="u_email" HeaderText="用户Email" />
<asp:BoundField DataField="u_address" HeaderText="用户地址" />
<asp:CommandField HeaderText="选择" ShowSelectButton="true" />
<asp:CommandField HeaderText="删除" ShowDeleteButton="true"/>
<asp:CommandField HeaderText="编辑" ShowEditButton="true" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="Red" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
--------------------------------------------------------------
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr2 = "delete from Users where u_id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand(sqlstr2,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Databinds();
}
//更新的功能
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
SqlConnection con = new SqlConnection(str);
string sqlstr = "update Users set u_name='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',u_age='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',u_sex='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',u_phone='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',u_email='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "',u_address='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim() + "'where u_id='"
+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
SqlCommand cmd = new SqlCommand(sqlstr,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
Databinds();
}
//编辑的功能
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
Databinds();
}
//退出编辑
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
Databinds();
} 修改 删除 举报 引用 回复
- 加为好友
- 发送私信
- 在线聊天
- insus
- 等级:
- 可用分等级:
- 总技术分:
- 总技术分排名:
http://download.csdn.net/source/397336
如果下载不了,请给版大留言:
http://webim.csdn.net/Messages/chenxhcc.ashx
如果看了这个例子,还是解决不了你的问题,Insus.NET无语了! 修改 删除 举报 引用 回复
- 加为好友
- 发送私信
- 在线聊天
- netspies
- 等级:
- 可用分等级:
- 总技术分:
- 总技术分排名:
- 加为好友
- 发送私信
- 在线聊天
- zsj830120
- 等级:
- 可用分等级:
- 总技术分:
- 总技术分排名:
- GRIDVIEW 用法
- GRIDVIEW 用法
- GridView 用法
- GridView用法
- GridView用法
- GRIDVIEW 用法
- GridView用法
- GRIDVIEW 用法
- gridview 用法
- gridview 用法
- GridView用法
- gridview 用法
- GridView用法
- GridView用法
- GridView用法
- GridView 用法一
- GRIDVIEW 用法 [转载]
- GRIDVIEW "傻瓜"用法
- 常用排序算法
- pushmail技术难么?
- 软件开发者面试百问
- 矛盾和犹豫...
- 水晶报表的生动生成功能
- gridview 用法
- 用Ajax实现一个简单的进度条
- NullPointerException异常
- 用Jsp来实现文件下载功能的几种方式
- 现实?梦想?在抉择中,我在什么位置?
- 【学习之路】程序员如何学好C++的50条忠告荟萃
- 字节,字符和编码
- 自行设计的音频管理器
- 走了这么久,你变了没有