C# winform dataGridView批量数据修改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform dataGridView批量数据修改相关的知识,希望对你有一定的参考价值。

try if (MessageBox.Show("是否确定到货?", "信息提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)

for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)

string strsql = string.Format("update tb_zhupei set daohuo=1 where id=0)",this.dataGridView1.SelectedRows[i].Cells[0].Value.ToString());
SqlCommand md = new SqlCommand(strsql, an.getcon());
if (md.ExecuteNonQuery() > 0)

MessageBox.Show("修改成功!");
dataGridView1.DataSource = an.getds(it()).Tables[0];






catch


finally


这么做只能是 每次修改一行 怎么样进行批量修改 例如同时选中10行 进行平批量修改
请指教!

参考技术A string strsql = string.Format("update tb_zhupei set daohuo=1 where id=0)",this.dataGridView1.SelectedRows[i].Cells[0].Value.ToString());
SqlCommand md = new SqlCommand(strsql, an.getcon());
你操作一次界面截更新了,数据就不在了,所以只能改第一行
把这两句分开,用两个for循环,
string strsql []=new string[dataGridView1.SelectedRows.Count];
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)

string strsql[i] = string.Format("update tb_zhupei set daohuo=1 where id=0)",this.dataGridView1.SelectedRows[i].Cells[0].Value.ToString());

for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)

SqlCommand md = new SqlCommand(strsql[i], an.getcon());
参考技术B 批量修改 一个循环就够了
我的做法是加个select选项,可显示也可隐藏 ,根据需要。
以他为标志位,就可以实现了
参考技术C 把这句dataGridView1.DataSource = an.getds(it()).Tables[0];
放在循环的外面本回答被提问者采纳
参考技术D 加个for() 不就是了么。

在C#的WinForm中,怎么在datagridview中插入复选框?

如果是设计的时候设置,添加列的时候ColumnType属性选择DataGridViewCheckBoxColumn
如果是代码添加列,如下:
DataGridViewColumn myCol = new DataGridViewCheckBoxColumn();
myGrid.Columns.Add(myCol);
参考技术A 同意一楼,若遇“System.FormatException:单元格的Formatted值的类型错误.要替换此默认对话框,请处理DataError事件.”异常,参考http://blog.csdn.net/rockythd/article/details/6096867 参考技术B 你可以遍历出所有的复选框,然后截取以0305开头的,如果是以这开头,然后获得这个复选框,Enabled设为不可用.ok?
参考技术C <asp:TemplateColumn HeaderStyle-CssClass="Lock_Header">
<HeaderTemplate>
<asp:CheckBox ID="cbIsSelectedAll" runat="server" onclick="CheckAllItems(this, 'dgdBatch', 'cbIsSelected');" Checked ="true" Enabled ="false" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbIsSelected" runat="server" onclick="CheckItemGroup(this, 'dgdBatch', 'cbIsSelected', 'cbIsSelectedAll');" Checked ="true" Enabled ="false" />
</ItemTemplate>
<HeaderStyle Width="20px" />
</asp:TemplateColumn>
参考技术D <asp:TemplateColumn HeaderStyle-CssClass="Lock_Header">
<ItemTemplate>
<asp:CheckBox ID="cbIsSelected" runat="server" onclick="CheckItemGroup(this, 'dgdBatch', 'cbIsSelected', 'cbIsSelectedAll');" Checked ="true" Enabled ="false" />
</ItemTemplate>
</asp:TemplateColumn>

以上是关于C# winform dataGridView批量数据修改的主要内容,如果未能解决你的问题,请参考以下文章

C# winform datagridview如何计算统计

c# winform datagridview界面上的行删了,但datagridview数据源没有同步如何解决

c# winform datagridview怎么能达到如图的效果

C# winform 如何用datagridview增、删、改数据

winform c# Datagridview 选中行 急!!!

通过 TextBox(C#、WinForms)过滤空 DataGridView