在C#中点击新增按钮,就可以在dataGridView中新增一个空白行,然后可以编辑,实现 20

最好是写代码的,谢谢,在双击新增按钮的事件中写代码... 最好是写代码的,谢谢,在双击新增按钮的事件中写代码 展开
 我来答
情到浓时宜转轻
2012-01-05
知道答主
回答量:3
采纳率:0%
帮助的人:5.8万
展开全部
没做过,如果GrideView没有这个功能的话, 倒是可以变通一下,
在grideview下加一行
r=new DataRow(); //new 行
c=new DataCloumn();//new 列
每一列添加一个TextBox控件
这样就可以编辑了

r.add(c);//给行添加列
grideview1.add(r);

// 思路是这样 具体实现代码,不一定是这样的,你看着写吧
//GrideView自带的编辑功能也是这么干的, 剩下就是Code实现的问题了
百度网友9671011
推荐于2018-04-12 · TA获得超过747个赞
知道小有建树答主
回答量:292
采纳率:100%
帮助的人:70.7万
展开全部
用BindingList<T>泛型集合
这个是.NET4.0提供的新类型 可以同步更新数据源与dataGridView的显示

事件代码中给你举个我们项目中的例子吧
FoodMaterial fm = new FoodMaterial();
fm.FMS_Id = 1;
fm.FM_CnName = "小白菜";
fm.FM_EnName = "xiaobaicai";
fm.UpdateState = 2;
((BindingList<FoodMaterial>)dataGridView1.DataSource).Add(fm);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chao2315
2012-01-05 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:117万
展开全部
主要用到GridView的2个事件:RowEditing、RowUpdating。
protected void gvList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvList.EditIndex = -1;
BindGridView();
}

protected void gvList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//此处略去更新操作。。。。
gvList.EditIndex = -1;
BindGridView();
}
BindGridView()方法是给GridView绑定数据。
页面上:
<asp:TemplateField HeaderText="ID">
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtID" Text='<%# Eval("C_ID") %>' ReadOnly="true"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label runat="server" ID="lblID" Text='<%# Eval("C_ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
TemplateField里放一个EditItemTemplate、一个ItemTemplate,EditItemTemplate放文本框,ItemTemplate里放个Label(随意吧)。

然后是编辑列:
<asp:TemplateField HeaderText="编辑" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="btn_Edit" runat="server" CausesValidation="False" CommandName="Edit"
Text="编辑" CommandArgument='<%# Eval("C_ID")%>'></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="btn_update" runat="server" CausesValidation="True" CommandName="Update"
Text="更新" CommandArgument='<%# Eval("C_ID")%>'></asp:LinkButton>
 <asp:LinkButton ID="btn_cancel" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"></asp:LinkButton>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
就OK了。
额,如果有取消操作。还要加一个事件:gvList_RowCancelingEdit。
protected void gvList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvList.EditIndex = -1;
BindGridView();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhanghao25250
2012-01-05 · TA获得超过570个赞
知道小有建树答主
回答量:595
采纳率:0%
帮助的人:221万
展开全部
如果是在网页上的,你直接可以用repeater去做,直接用个dataGird控件,里面自带有这样的功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式