如何实现datagrid里面的按钮 http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用的是VB.NET而且刚刚学这个没多久......我同学扔了句dataset就跑了...郁闷中. 1.自己用代码写<table>2.用控件DataGrid,DataList,如在DataGrid中有按钮列,可以直接用,呵呵,可以偷懒啦 给你一个示例代码: .aspx<asp:DataGrid id="dgZipCode" runat="server" Width="472px" OnEditCommand="dgZipCode_Edit" OnCancelCommand="dgZipCode_Cancel" OnUpdateCommand="dgZipCode_Update" DataKeyField="ZipCode" AutoGenerateColumns="False" AllowPaging="True"> <Columns> <asp:BoundColumn DataField="ZipCode" ReadOnly="True" HeaderText="邮政编码"> <HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle> <ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle> </asp:BoundColumn> <asp:TemplateColumn HeaderText="省份"> <HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="Blue"></HeaderStyle> <ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle> <ItemTemplate> <asp:Label Runat="server" ID="Label2"> <%#DataBinder.Eval(Container.DataItem,"Province")%> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox size=9 Runat=server ID="txtProvince" Text='<%#DataBinder.Eval(Container.DataItem,"Province")%>'/> <asp:RequiredFieldValidator ID="Requiredfieldvalidator1" ControlToValidate="txtProvince" Display="Dynamic" Runat="server">*</asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="市县"> <HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle> <ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle> <ItemTemplate> <asp:Label Runat="server" ID="Label3"> <%#DataBinder.Eval(Container.DataItem,"City")%> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox size=9 Runat=server ID="txtCity" Text='<%#DataBinder.Eval(Container.DataItem,"City")%>'/> <asp:RequiredFieldValidator ID="Requiredfieldvalidator2" ControlToValidate="txtCity" Display="Dynamic" Runat="server">*</asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="区号"> <HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle> <ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle> <ItemTemplate> <asp:Label Runat="server" ID="Label4"> <%#DataBinder.Eval(Container.DataItem,"AreaCode")%> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox size=9 Runat=server ID="txtAreaCode" Text='<%#DataBinder.Eval(Container.DataItem,"AreaCode")%>'/> <asp:RequiredFieldValidator ID="Requiredfieldvalidator3" ControlToValidate="txtAreaCode" Display="Dynamic" Runat="server">*</asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateColumn> <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="编辑" CancelText="取消" EditText="编辑"> <HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="Blue"></HeaderStyle> <ItemStyle Font-Size="X-Small" Wrap="False" HorizontalAlign="Center"></ItemStyle> </asp:EditCommandColumn> <asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="delete"> <HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle> <ItemStyle Font-Size="X-Small" Wrap="False" HorizontalAlign="Center"></ItemStyle> </asp:ButtonColumn> </Columns> <PagerStyle NextPageText="下一页" Font-Size="X-Small" PrevPageText="上一页"></PagerStyle> </asp:DataGrid>=======================.cspublic void dgZipCode_Edit(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//点击更新 { dgZipCode.EditItemIndex=(int)e.Item.ItemIndex; BindData(); } public void dgZipCode_Cancel(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//取消更新 { dgZipCode.EditItemIndex=-1; BindData(); } public void dgZipCode_Update(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) //确定更新 { string zipCode=dgZipCode.DataKeys[(int)e.Item.ItemIndex].ToString(); string province=((TextBox)e.Item.FindControl("txtProvince")).Text.ToString(); string city=((TextBox)e.Item.FindControl("txtCity")).Text.ToString(); string areaCode=((TextBox)e.Item.FindControl("txtAreaCode")).Text.ToString(); string strSQL="update bm_ZipCode set Province='"+province+"',City='"+city+"',AreaCode='"+areaCode+"' where ZipCode='"+zipCode+"'"; try { DBObject dbo=new DBObject(); dbo.ExcuteNoQuerySql(strSQL); // Response.Write("<script>window.alert('更新成功!');</script>");; dgZipCode.EditItemIndex=-1; } catch(SqlException) { Response.Write("<script>window.alert('更新失败!');</script>");; } BindData(); }private void dgZipCode_Delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//删除 { e.Item.Cells[5].Attributes.Add("onClick","return confirm('你确定要删除这一项吗?');"); string zipCode=dgZipCode.DataKeys[(int)e.Item.ItemIndex].ToString(); string strSQL="delete from bm_ZipCode where ZipCode='"+zipCode+"'"; try { DBObject dbo=new DBObject(); dbo.ExcuteNoQuerySql(strSQL); } catch(SqlException) { Response.Write("<script>window.alert('删除失败!');</script>");; } BindData(); } private void BindData() { string strSQL="select * from bm_ZipCode"; DataSet ds=new DataSet(); DBObject dbo=new DBObject(); ds=dbo.GetDataSet(strSQL); dgZipCode.DataSource=ds; dgZipCode.DataBind(); }添加可以用表格来实现。 怎么都是C#的啊...难道没有VB.NET的吗................ 索引超出范围。必须为非负值并小于集合大小? 要泪奔了,折腾了好几个小时还搞不定这个artDialog..... List<object>获取值 使用Asp.net和Ajax开发遇到的异常 找工作,上海 虚拟空间sys未定义 怎么样能够用prototype.js中的ajax对象访问webservices 顶者有分 Response.Redirect的问题 在asp.net里添加一个页面,让它打开时怎么让它的右上角的差差变灰不能按? 将文件保存到Oracle数据库时出错 问一个SqlDataAdapter 的简单问题 初学oracle有问题请教:ORA-01036: 非法的变量名/编号
而且刚刚学这个没多久......
我同学扔了句dataset就跑了...
郁闷中.
2.用控件DataGrid,DataList,如在DataGrid中有按钮列,可以直接用,呵呵,可以偷懒啦
<asp:DataGrid id="dgZipCode" runat="server" Width="472px" OnEditCommand="dgZipCode_Edit" OnCancelCommand="dgZipCode_Cancel"
OnUpdateCommand="dgZipCode_Update" DataKeyField="ZipCode" AutoGenerateColumns="False" AllowPaging="True">
<Columns>
<asp:BoundColumn DataField="ZipCode" ReadOnly="True" HeaderText="邮政编码">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle>
<ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="省份">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="Blue"></HeaderStyle>
<ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label Runat="server" ID="Label2">
<%#DataBinder.Eval(Container.DataItem,"Province")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox size=9 Runat=server ID="txtProvince" Text='<%#DataBinder.Eval(Container.DataItem,"Province")%>'/>
<asp:RequiredFieldValidator ID="Requiredfieldvalidator1" ControlToValidate="txtProvince" Display="Dynamic" Runat="server">*</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="市县">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle>
<ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label Runat="server" ID="Label3">
<%#DataBinder.Eval(Container.DataItem,"City")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox size=9 Runat=server ID="txtCity" Text='<%#DataBinder.Eval(Container.DataItem,"City")%>'/>
<asp:RequiredFieldValidator ID="Requiredfieldvalidator2" ControlToValidate="txtCity" Display="Dynamic" Runat="server">*</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="区号">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle>
<ItemStyle Font-Size="X-Small" HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label Runat="server" ID="Label4">
<%#DataBinder.Eval(Container.DataItem,"AreaCode")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox size=9 Runat=server ID="txtAreaCode" Text='<%#DataBinder.Eval(Container.DataItem,"AreaCode")%>'/>
<asp:RequiredFieldValidator ID="Requiredfieldvalidator3" ControlToValidate="txtAreaCode" Display="Dynamic" Runat="server">*</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="编辑" CancelText="取消" EditText="编辑">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="Blue"></HeaderStyle>
<ItemStyle Font-Size="X-Small" Wrap="False" HorizontalAlign="Center"></ItemStyle>
</asp:EditCommandColumn>
<asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="delete">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" ForeColor="#3300FF"></HeaderStyle>
<ItemStyle Font-Size="X-Small" Wrap="False" HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
</Columns>
<PagerStyle NextPageText="下一页" Font-Size="X-Small" PrevPageText="上一页"></PagerStyle>
</asp:DataGrid>=======================
.cs
public void dgZipCode_Edit(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//点击更新
{
dgZipCode.EditItemIndex=(int)e.Item.ItemIndex;
BindData();
} public void dgZipCode_Cancel(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//取消更新
{
dgZipCode.EditItemIndex=-1;
BindData();
} public void dgZipCode_Update(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) //确定更新
{
string zipCode=dgZipCode.DataKeys[(int)e.Item.ItemIndex].ToString();
string province=((TextBox)e.Item.FindControl("txtProvince")).Text.ToString();
string city=((TextBox)e.Item.FindControl("txtCity")).Text.ToString();
string areaCode=((TextBox)e.Item.FindControl("txtAreaCode")).Text.ToString();
string strSQL="update bm_ZipCode set Province='"+province+"',City='"+city+"',AreaCode='"+areaCode+"' where ZipCode='"+zipCode+"'";
try
{
DBObject dbo=new DBObject();
dbo.ExcuteNoQuerySql(strSQL);
// Response.Write("<script>window.alert('更新成功!');</script>");;
dgZipCode.EditItemIndex=-1;
}
catch(SqlException)
{
Response.Write("<script>window.alert('更新失败!');</script>");;
}
BindData();
}
private void dgZipCode_Delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//删除
{
e.Item.Cells[5].Attributes.Add("onClick","return confirm('你确定要删除这一项吗?');");
string zipCode=dgZipCode.DataKeys[(int)e.Item.ItemIndex].ToString();
string strSQL="delete from bm_ZipCode where ZipCode='"+zipCode+"'";
try
{
DBObject dbo=new DBObject();
dbo.ExcuteNoQuerySql(strSQL);
}
catch(SqlException)
{
Response.Write("<script>window.alert('删除失败!');</script>");;
}
BindData();
}
private void BindData()
{
string strSQL="select * from bm_ZipCode";
DataSet ds=new DataSet();
DBObject dbo=new DBObject();
ds=dbo.GetDataSet(strSQL);
dgZipCode.DataSource=ds;
dgZipCode.DataBind(); }
添加可以用表格来实现。
难道没有VB.NET的吗................