DataGridView控件中删除数据

合集下载

在C#中使用控件DataGridView实现数据库增删改查

在C#中使用控件DataGridView实现数据库增删改查
int count = da.Update(ds);
bool result = count > 0 ? true : false;
return result;
}
private void button2_Click(object sender, EventArgs e)
{
if (this.BtnDelect())
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace DataSource
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
private bool BtnDelect()
//此方法作用于删除 ...
{
SqlParameter sp = new SqlParameter();
da.DeleteCommand = conn.CreateCommand();
mandText = "delete region where regionid=@id";
da.UpdateCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
da.UpdateCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");

c#WinForm开发DataGridView控件的各种操作总结(单元格操作,属性设置)

c#WinForm开发DataGridView控件的各种操作总结(单元格操作,属性设置)

c#WinForm开发DataGridView控件的各种操作总结(单元格操作,属性设置)一、单元格内容的操作*****// 取得当前单元格内容Console.WriteLine(DataGridView1.CurrentCell.Value);// 取得当前单元格的列 IndexConsole.WriteLine(DataGridView1.CurrentCell.ColumnIndex);// 取得当前单元格的行 IndexConsole.WriteLine(DataGridView1.CurrentCell.RowIndex);*******另外,使用 DataGridView.CurrentCellAddress 属性(而不是直接访问单元格)来确定单元格所在的行:DataGridView.CurrentCellAddress.Y 和列:DataGridView.CurrentCellAddress.X 。

这对于避免取消共享行的共享非常有用。

当前的单元格可以通过设定DataGridView 对象的CurrentCell 来改变。

可以通过 CurrentCell 来设定DataGridView 的激活单元格。

将CurrentCell 设为Nothing(null) 可以取消激活的单元格。

// 设定 (0, 0) 为当前单元格DataGridView1.CurrentCell = DataGridView1[0, 0];在整行选中模式开启时,你也可以通过CurrentCell 来设定选定行。

/// <summary>/// 向下遍历/// </summary>/// <param ></param>/// <param ></param>private void button4_Click(object sender, EventArgs e)...{int row = this.dataGridView1.CurrentRow.Index + 1;if (row > this.dataGridView1.RowCount - 1)row = 0;this.dataGridView1.CurrentCell = this.dataGridView1[0, row];}/// <summary>/// 向上遍历/// </summary>/// <param ></param>/// <param ></param>private void button5_Click(object sender, EventArgs e)...{int row = this.dataGridView1.CurrentRow.Index - 1;if (row < 0)row = this.dataGridView1.RowCount - 1;this.dataGridView1.CurrentCell = this.dataGridView1[0, row];}* 注意: this.dataGridView 的索引器的参数是: columnIndex, rowIndex 或是 columnName, rowIndex这与习惯不同。

DATAGRIDVIEW属性及方法

DATAGRIDVIEW属性及方法

DATAGRIDVIEW属性及方法属性:1. AllowUserToAddRows:获取或设置一个值,指示是否允许用户添加新行。

2. AllowUserToDeleteRows:获取或设置一个值,指示是否允许用户删除行。

3. AllowUserToResizeColumns:获取或设置一个值,指示是否允许用户调整列的大小。

4. AllowUserToResizeRows:获取或设置一个值,指示是否允许用户调整行的大小。

5. AutoSizeColumnsMode:获取或设置值,指示列宽度的调整模式。

6. DataSource:获取或设置与该DataGridView关联的数据源。

7. RowHeadersVisible:获取或设置一个值,指示是否显示行标题。

8. ColumnHeadersVisible:获取或设置一个值,指示是否显示列标题。

9. ReadOnly:获取或设置一个值,指示是否只读。

10. MultiSelect:获取或设置一个值,指示是否可以同时选择多个单元格。

方法:1. ClearSelection(:取消选择所有选定的单元格。

2. Refresh(:重新绘制DataGridView控件。

3. Sort(DataGridViewColumn, ListSortDirection):按指定的列和排序顺序对表格进行排序。

4. SelectAll(:选择所有单元格。

5. Clear(:清除掉DataGridView控件中的所有数据。

7. ClearSelection(:清除当前选定的单元格的选择。

除了上述属性和方法外,DataGridView还有一些事件,可以让我们在特定的情况下作出响应。

例如,CellClick事件在单击单元格时触发,可以用来获取当前选中的单元格的值。

另外,DataGridView还有许多其他的属性和方法,用于设置和操作表格的样式、行高、列宽等。

总结起来,DataGridView是Windows Forms中非常常用的表格控件,具有丰富的属性和方法,用于设置和操作表格的外观和行为。

数据控件DataGridView添加、删除和修改数据库中的内容

数据控件DataGridView添加、删除和修改数据库中的内容

数据控件DataGridView添加、删除和修改数据库中的内容作者:天涯来源:中国自学编程网发布日期:1214063638介绍一个数据控件DataGridView,它是 3.5中新增加的的重要控件。

它是一种网格形式的控件,能以表格的形式显示数据,它的优势是能多行显示数据,在数据库的操作中会经常用到。

(1)打开VS2008,在D:\C#\ch14目录下建立名为DataGridViewTest的Windows应用程序,打开工程,为当前窗体添加控件,如表14-2所示。

表14-2 添加控件列表控件名NameTextDataGridViewdataGridView1ButtonbtnRef更新设置ButtonbtnDelete删除(2)接下来需要设置DadaAdapter和DataSet,方法同上一节一样。

选中DataGridView的DataSource属性。

(3)单击“下一步”按钮,选择“数据连接”图标。

(4)最后一步需要选择数据库对象,本例是要操作StudentInf数据库中的表,所以选择“表”复选框。

(5)设置完毕后,整个程序界面就设置完了。

程序界面设计完毕后,接下来要做的工作就是通过修改dataGridView1中的数据来更新数据库中的内容。

它实现的原理很简单,通过studentInfDataSet把dataGridView1绑定到Class1表,studentInfDataSet处于中间位置,所以在dataGridView1中修改的数据必须要传递到studentInfDataSet后才能改变数据库中的内容。

(1)双击“更新设置”按钮,添加如下代码。

this.sqlDataAdapter1.Update(this.studentInfDataSet);该代码的功能是调用sqlDataAdapter1的Update()方法实现对studentInfDataSet的更新。

(2)按F5键,程序运行以后,对dataGridView1添加一行新的数据,然后单击“更新设置”按钮,完成后关闭程序再打开。

C#中对winform的控件datagridview直接进行编辑,修改,删除操作注意的地方

C#中对winform的控件datagridview直接进行编辑,修改,删除操作注意的地方

C#中对winform的控件datagridview直接进⾏编辑,修改,删除操作注意的地⽅datagridview直接编辑验证时候取值使⽤EditedFormattedValue取值,如果使⽤value取值的话,则对其修改的时候value保持修改以前的数据信息,从⽽导致⼀些判断之类的东西出现不正确!/// <summary>/// ⾏数显错误时候验证/// </summary>/// <param name="sender">sender</param>/// <param name="e">e</param>private void DgvGoodsInfo_DataError(object sender, DataGridViewDataErrorEventArgs e){if (DgvGoodsInfo.Rows[e.RowIndex].IsNewRow == true){return;}else if (this.CellValid(DgvGoodsInfo, e.RowIndex) == true){e.Cancel = false;return;}else{e.Cancel = true;return;}}private bool CellValid(DataGridView dgv, int RowIndex){//// 名称if (dgv.Rows[RowIndex].Cells[].ReadOnly){return false;}if (dgv.Rows[RowIndex].IsNewRow == true){return true;}//// TODO:编辑期间取值使⽤EditedFormattedValue进⾏判断if (dgv[, RowIndex].EditedFormattedValue == null ||string.IsNullOrEmpty(dgv[, RowIndex].EditedFormattedValue.ToString().Trim())){WDMessageBox.ShowTips("清单货品名称不能为空");dgv[, RowIndex].ErrorText = "清单货品名称不能为空";return false;}else{if (dgv[, RowIndex].EditedFormattedValue.ToString().Trim().GetLength() > 50){WDMessageBox.ShowTips("清单货品名称输⼊不能⼤于50个字符,⼀个汉字代表两个字符");dgv[, RowIndex].ErrorText = "清单货品名称输⼊不能⼤于50个字符,⼀个汉字代表两个字符";return false;}if (this.bindlist != null && this.bindlist.Count > 0){try{List<ExpOrderDetailModel> model = this.bindlist.Where(editmodel =>editmodel.GoodsName.Equals(dgv[, RowIndex].EditedFormattedValue.ToString().Trim(), StringComparison.CurrentCultureIgnoreCase)).ToList();if (model.Count > 1){WDMessageBox.ShowTips("清单货品名称必须唯⼀,如需添加,请修改货品件数");dgv[, RowIndex].ErrorText = "清单货品名称必须唯⼀,如需添加,请修改货品件数"; return false;}}catch (Exception ex){LoggingService.Error(ex.ToString());}}}}/// <summary>/// 单击单元格时触发-----删除操作/// </summary>/// <param name="sender">sender</param>/// <param name="e">e</param>private void DgvGoodsInfo_CellClick(object sender, DataGridViewCellEventArgs e){var dgv = sender as DataGridView;var columnName = dgv.Columns[e.ColumnIndex].Name;if (columnName == ){// dgv.RowValidating-=new DataGridViewCellCancelEventHandler(DgvGoodsInfo_RowValidating);if (this.DgvGoodsInfo.CurrentRow.IsNewRow == false){this.DgvGoodsInfo.EndEdit();//// 新增情况下删除订单清单if (string.IsNullOrEmpty(this.OrderID)){this.DgvGoodsInfo.Rows.RemoveAt(e.RowIndex);}//// 修改情况下删除订单清单else{//this.DgvGoodsInfo.EndEdit();if (dgv.Rows[e.RowIndex].Cells[].Value == null){this.DgvGoodsInfo.Rows.RemoveAt(e.RowIndex);this.DgvGoodsInfo.DataSource = this.bindlist;this.DgvGoodsInfo.EndEdit();}else{string strmid = dgv.Rows[e.RowIndex].Cells[].Value.ToString();//// 检测清单是否已经被提货this.CheckGoodsInfoDel(strmid);}}}}}注意还需要在保存按钮的时候继续进⾏验证。

datagridview,DataGridView单元格赋值、删除行、及实例

datagridview,DataGridView单元格赋值、删除行、及实例

datagridview,DataGridView单元格赋值、删除行、及实例单元格赋值DataGridView1.Rows.Add()'首先新增一空行方法一:DataGridView1.Item("Column1", 1).Value = "adsfsdf" '其中Column1是列名称(列的name属性值)并非列的text值,1代表第1行方法二:DataGridView1.Rows(1).Cells(0).Value = "Test" '其中1是第一行,0是第0个单元格,datagridview中起始行号和列号及单完格都从0开始计删除行方法一:DataGridView1.Rows.Remove(DataGridView1.CurrentRow )'删除当前光标所在行DataGridView1.Rows.Remove(DataGridView1.Rows(DataG ridView1.Rows.Count - 1))'删除最后一行DataGridView1.Rows.Clear()'删除所有行方法二:tnck = "料件进口合同表"Dim ds As New DataSet()Dim sql As StringobjSqlConnection.Open()sql = "delete from " tnck " where 序号='" & DataGridView1.CurrentRow.Cells("序号").Value & "'"Dim sda As SqlDataAdaptersda = New SqlDataAdapter(sql, objSqlConnection)ds = New DataSetsda.Fill(ds, tnck)DataGridView1.DataSource = ds.Tables(tnck)objSqlConnection.Close()MsgBox("删除完成!")方法三private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e){r = e.RowIndex; //获取当前选择行的行号c = dataGridView1.Rows[r].Cells[1].Value.ToString(); //根据当前选择行的行号匹配得到(Cells[0])0列的数据}完整的一个例子using System;using System.Collections.Generic;using/doc/291697102.html,ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace led{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void btnSend_Click(object sender, EventArgs e){if (this.serialPort1.IsOpen){this.serialPort1.Close();}this.serialPort1.PortName = this.cbSerial.Text;this.serialPort1.Open();System.Drawing.Bitmap bmp = new Bitmap(this.tbCurrent.Width, this.tbCurrent.Height);this.tbCurrent.DrawToBitmap(bmp,newRectangle(0,0,bmp.Width,bmp.Height));Until.SendBmp(this.serialPort1, bmp);}private void Form1_Load(object sender, EventArgs e){FillAllData(0);}private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e){this.tbContent.Text = this.dgvData["content", e.RowIndex].Value.ToString();this.tbCurrent.Text = this.dgvData["content", e.RowIndex].Value.ToString();this.tbCurrentSortid.Text = this.dgvData["sortid", e.RowIndex].Value.ToString();id = e.RowIndex;}private int id;private void button2_Click(object sender, EventArgs e) {if (this.tbContent.T ext == ""){MessageBox.Show("输入内容不能为空");return;}int count = Until.GetLineCount(tbContent);string[] temp = new string[50];for (int i = 0; i < count; i ){DB.insertLED(Until.GetLine(tbContent, i));}FillAllData(this.dgvData.Rows.Count);datachange = true;}private void button1_Click(object sender, EventArgs e) {if (this.tbContent.T ext == ""){MessageBox.Show("输入内容不能为空");return;}int count = Until.GetLineCount(tbContent);if (count > 1){MessageBox.Show("修改只限于1行,不能多于一行");return;}if (DB.updateLEDcontent(tbContent.Text,dgvData["id",i d].Value.ToString()) > 0){FillAllData(id);datachange = true;}}private void FillAllData(int selectid){this.dgvData.DataSource = DB.selectLEDcontent();this.dgvData.Columns["id"].Visible = false;this.dgvData.Columns["content"].HeaderText = "显示内容";this.dgvData.Columns["content"].Width = 300;this.dgvData.Columns["sortid"].HeaderText = "序号";this.dgvData.Columns["inputtime"].HeaderText = "最近修改时间";this.dgvData.Columns["inputtime"].Width = 200;if (selectid > dgvData.Rows.Count - 1){selectid = dgvData.Rows.Count - 1;}this.dgvData.CurrentCell = this.dgvData.Rows[selectid].Cells["content"];}private void button4_Click(object sender, EventArgs e){DB.updateLEDsortid(dgvData["id", id].Value.ToString(), this.tbCurrentSortid.Text, this.nudNewSortid.Value.ToString());FillAllData((int)this.nudNewSortid.Value);datachange = true;}private void button3_Click(object sender, EventArgs e){DB.updateLEDsortidlast(dgvData["id", id].Value.ToString(), this.tbCurrentSortid.Text);FillAllData(this.dgvData.Rows.Count);datachange = true;}private void button5_Click(object sender, EventArgs e){this.timer1.Interval = (int)this.nudTime.Value * 1000;LoadData();this.timer1.Enabled = true;}private bool datachange = false;private string[] datatemp;private int datan = 0;private void timer1_Tick(object sender, EventArgs e) {if (datachange){LoadData();datan = 0;datachange = false;}try{this.tbCurrent.Text = datatemp[datan];}catchdatan = 0;this.tbCurrent.Text = datatemp[datan]; }datan ;//SendBySPort(this.textBox1);}private void LoadData(){datachange = true;datan = 0;DataTable dt = DB.selectLEDcontent(); int i = 0;datatemp = new string[dt.Rows.Count]; foreach (DataRow r in dt.Rows)datatemp[i] = r["content"].ToString();i ;}}private void SendBySPort(TextBox tb){if (this.serialPort1.IsOpen){this.serialPort1.Close();}this.serialPort1.PortName = this.cbSerial.Text;this.serialPort1.Open();System.Drawing.Bitmap bmp = new Bitmap(this.tbCurrent.Width, this.tbCurrent.Height);tb.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width,bmp.Height));Until.SendBmp(this.serialPort1, bmp);}private void button6_Click(object sender, EventArgs e){this.timer1.Enabled = false;}private void btnDeleteContent_Click(object sender, EventArgs e){DB.deleteLED(dgvData["id", id].Value.ToString());FillAllData(id);}}}。

c# 如何删除datagridview中数据并删除数据库中的数据

c# 如何删除datagridview中数据并删除数据库中的数据
{
con1.Open();
SqlCommand cmd=new SqlCommand("delete from Worker where WorkerID='"+str+"'",con1);
cmd.Connection=con1;
cmd.ExecuteNonQuery();
con1.Close();
}
}
}
以上的代码只是删除了数据库中的数据,但是datagridview中的数据却没有删除。怎么删除datagridview中的数据啊?
更多相关的话题
pigmum回复于17日06点57分 删除完了重新绑定一次!!!
{
if(str!="")
{
using (SqlConnection con1 = new SqlConnection("server=.;pwd=;uid=sa;database=WorkerManget"))
Jessicawang回复于17日07点16分 删除之后重ei回复于17日07点36分 删除以后 重新用SQL语句刷一下DataGridView
> 返回话题列表
C#开发的其他话题...
C#如何把DataGridView中的所有数据(包括Header)存入SQL2000的一个字段中!!(还要取出的方法) 请教如何使用函数实现删除数据库记录的同时删除文件夹的文件!! 请问如何实现删除数据库记录的同时删除文件夹的文件!! 如何将datagridview中某个单元格的值清空c# [编程] 如何取得datagridview中最后一行某列的数据?
【话题】c# 如何删除datagridview中数据并删除数据库中的数据

让人郁闷的,DatagridView 添加与删除行 - 瑞德船长 - 博客园

让人郁闷的,DatagridView 添加与删除行 - 瑞德船长 - 博客园

让人郁闷的,DatagridView 添加与删除行- 瑞德船长- 博客园让人郁闷的,DatagridView 添加与删除行让人郁闷的,DatagridView 添加与删除行。

不知有没有人用过DatagridView直接添加与删除行,在DatagridView上直接添加删除有时会很方便,而且客户也喜欢。

使用过Infragistics的UltraGrid的人应该知道,在UltraGrid中删除行和添加行,只需给绑定的集合AddNew 方法即可,删除时直接把行设为Delete。

而DatagridView 却用完全不同的机制。

在DatagridView上直接调用Rows.Add());,直接添加一行发生导常,使用Row.add(value),也一样不行。

异常:Rows cannot be programmatically added to the DataGridView's rows collection when the control isdata-bound.给数据源直接添加行时,界面却一动不动,稳如泰山. 跟踪,发现行集合数,没有随着数据源增加而增加。

原来数据源一但给Datagridview后,两都就实现分开管理。

删除行时也有发生导常:&#8220;Rows cannot be programmatically removed unless the DataGridView is data-bound to an IBindingList that supports change notification and allows deletion.&#8221;再使用Invalidate 方法,界面行数没有变只是多了一行空白。

反射一下DataGridView,让我吃了一惊:当数据源不为空时就发生导常,DataSource为空还要添加行干吗?我一度怀疑微软是否支持DataGridView添加与删除。

DataGridView 行、列的隐藏和删除

DataGridView  行、列的隐藏和删除

DataGridView 行、列的隐藏和删除概述在开发Windows应用程序时,我们经常会使用DataGridView控件来展示和编辑数据。

DataGridView是一个强大的控件,它允许用户在表格中查看和修改数据。

这篇文档将介绍如何在DataGridView中隐藏和删除行、列。

隐藏行和列隐藏行要隐藏DataGridView中的行,可以使用Visible属性。

默认情况下,所有的行都是可见的,将Visible属性设置为false可以隐藏特定的行。

dataGridView.Rows[index].Visible = false;上述代码将隐藏指定的行,其中index是要隐藏的行的索引。

要隐藏DataGridView中的列,可以使用Visible属性。

默认情况下,所有的列都是可见的,将Visible属性设置为false可以隐藏特定的列。

dataGridView.Columns[index].Visible = false;上述代码将隐藏指定的列,其中index是要隐藏的列的索引。

删除行和列删除行要删除DataGridView中的行,可以使用RemoveAt方法。

该方法将从DataGridView的行集合中删除指定索引的行。

dataGridView.Rows.RemoveAt(index);上述代码将删除指定索引的行,其中index是要删除的行的索引。

要删除DataGridView中的列,可以使用RemoveAt方法。

该方法将从DataGridView的列集合中删除指定索引的列。

dataGridView.Columns.RemoveAt(index);上述代码将删除指定索引的列,其中index是要删除的列的索引。

示例下面的示例演示了如何在DataGridView中隐藏和删除行、列。

// 隐藏行dataGridView.Rows[0].Visible = false;// 隐藏列dataGridView.Columns[1].Visible = false;// 删除行dataGridView.Rows.RemoveAt(2);// 删除列dataGridView.Columns.RemoveAt(3);上述代码将隐藏第一行、第二列,并删除第三行和第四列。

VB.NETdatagridview的操作

VB.NETdatagridview的操作

datagridview的操作'空值判斷If IsDBNull(DataGridView1.Item(1, 1).Value) = True ThenDataGridView1.Item(1, 1).Value = "空值"End If'删除所有⾏DataGridView1.Rows.Clear()'删除第⼀⾏DataGridView1.Rows.RemoveAt(0)'删除選定的⾏For Each r As DataGridViewRow In DataGridView1.SelectedRowsIf Not r.IsNewRow ThenDataGridView1.Rows.Remove(r)End IfNext'删除所有列Me.DataGridView1.Columns.Clear()'新增⼀列Me.DataGridView1.Columns.Add("1", "列1")'設定列寛Me.DataGridView1.Columns(0).Width = 100'關閉重新排序DataGridView1.Columns(0).SortMode = DataGridViewColumnSortMode.NotSortable'获取当前被选中的⾏号Me.DataGridView1.CurrentCell.RowIndex'获取当前被选中的列号Me. DataGridView1.CurrentCell.ColumnIndex'改變⾏顏⾊DataGridView1.Rows(1 ).DefaultCellStyle.BackColor = Color.Yellow'改變單元格顏⾊Me.DataGridView1.Rows(1).Cells(1).Style.BackColor = Color.Lime'改變字顏⾊Me.DataGridView1.Rows(1).Cells(1).Style.ForeColor = Color.Red'新增⼀⾏DataGridView1.Rows.Add()'附與值DataGridView1.Item(1, 1).Value = 1'表單選擇TextBox1.Text = DataGridView1.CurrentRow.Cells("Column1").Value.ToString()'表單筆數TextBox1.Text = Me.DataGridView1.RowCount'⾧度調整DataGridView1.Height = Me.Height – 150'寬度調整DataGridView1.Width = Me.Width – 80'列只讀DataGridView1.Columns(0).ReadOnly = True'⾏只讀DataGridView1. Rows(0).ReadOnly = True'單元格只讀DataGridView1(0, i - 1).ReadOnly = True'DataGridView按Enter鍵Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As BooleanIf msg.WParam.ToInt32() = CInt(Keys.Enter) Then SendKeys.Send("{Tab}")Return TrueReturn MyBase.ProcessCmdKey(msg, keyData)End Function'設置單元格位置DataGridView1.CurrentCell = DataGridView1(0, 0)'取得當前列寬TextBox1.Text=Me.DataGridView1.Columns(0).Width'設置列寬Me.DataGridView1.Columns(0).Width = drVB.Item(0)。

c#DataGridView复制粘贴删除功能

c#DataGridView复制粘贴删除功能

c#DataGridView复制粘贴删除功能//可在dgv中复制、剪切、粘贴、删除数据///<summary>/// DataGridView复制///</summary>///<param name="dgv">DataGridView实例</param>public static void dgvCopy(DataGridView dgv){if (dgv.GetCellCount(DataGridViewElementStates.Selected) > 0){try{Clipboard.SetDataObject(dgv.GetClipboardContent());}catch (Exception MyEx){MessageBox.Show(MyEx.Message, "错误提⽰", MessageBoxButtons.OK, MessageBoxIcon.Warning);}}}///<summary>/// DataGridView剪切///</summary>///<param name="dgv">DataGridView实例</param>public static void dgvCut(DataGridView dgv){dgvCopy(dgv);try{dgvDel(dgv);}catch (Exception MyEx){MessageBox.Show(MyEx.Message);}}///<summary>/// DataGridView删除内容///</summary>///<param name="dgv">DataGridView实例</param>public static void dgvDel(DataGridView dgv){try{int k = dgv.SelectedCells.Count;for (int i = 0; i < k; i++){dgv.SelectedCells[i].Value = "";}}catch (Exception MyEx){MessageBox.Show(MyEx.Message);}}///<summary>/// DataGridView粘贴///</summary>///<param name="dt">DataGridView数据源</param>///<param name="dgv">DataGridView实例</param>public static void dgvPaste(DataGridView dgv){try{//最后⼀⾏为新⾏int rowCount = dgv.Rows.Count - 1;int colCount = dgv.ColumnCount;//获取剪贴板内容string pasteText = Clipboard.GetText();//判断是否有字符存在if (string.IsNullOrEmpty(pasteText))return;//以换⾏符分割的数组string[] lines = pasteText.Trim().Split('\n');int txtLength = lines.Length;//Lance.2015-12-03int cRowIndex = dgv.SelectedCells[0].RowIndex;int cColIndex = dgv.SelectedCells[0].ColumnIndex;for (int i = 0; i < txtLength; i++){string[] words = lines[i].Split('\t');for (int j = 0; j < words.Length; j++){dgv.Rows[cRowIndex + i].Cells[cColIndex + j].Value = words[j]; }}}catch (Exception MyEx){MessageBox.Show(MyEx.Message);}}Keys key = e.KeyCode;//Delete删除内容if (key == Keys.Delete){TextDaseOperationClass.dgvDel(dataGridView1);}if (e.Control!=true)//如果没按Ctrl键return;switch (key){case Keys.C://按下Ctrl+C复制TextDaseOperationClass.dgvCopy(dataGridView1);break;case Keys.V://按下Ctrl+V粘贴TextDaseOperationClass.dgvPaste(dataGridView1);break;case Keys.X://按下Ctrl+V剪切TextDaseOperationClass.dgvCut(dataGridView1);break;}。

Winform(DataGridView)控件及通过此控件中实现增删改查

Winform(DataGridView)控件及通过此控件中实现增删改查

Winform(DataGridView)控件及通过此控件中实现增删改查:显⽰数据表,通过此控件中可以实现连接数据库,实现数据的增删改查⼀、后台数据绑定:List<xxx> list = new List<xxx>();dataGridView1.DataSource = list;//设置不⾃动⽣成列,此属性在属性⾯板中没有dataGridView1.AutoGenerateColumns = false;//取消加载默认选中第⼀⾏dataGridView1.ClearSelection();⼆、前台:⼩三⾓箭头,取消可编辑,添加,删除功能;Columns集合属性中,添加列HeaderText中设置显⽰的⽂本DataPropertyName设置绑定的字段名或数据库列名SelectionMode --设置选择⽅式,FullRowSelect只能选中⾏MultiSelect --是否可以选中多⾏内容三、取值:取出选中的单元格的值:dataGridView1.SelectedCells中放着全部选中的单元格if(dataGridView1.SelectedCells.Count > 0){MessageBox.Show(dataGridView1.SelectedCells[0].Value.ToString());}取出选中的⾏内容:if(dataGridView1.SelectedRows.Count > 0){MessageBox.Show(dataGridView1.SelectedRows[0].Cells[0].ToString());}获取⽤于填充⾏绑定的对象://⾏对象使⽤属性:DataBoundItemstudent sss = dataGridView1.SelectedRows[0].DataBoundItem as student;四、删除加确认MessageBoxButtons btn = MessageBoxButtons.YesNoCancel;if (MessageBox.Show("确定要删除么?", "删除数据", btn) == DialogResult.Yes){}五、多条件查询如果⽤户什么都不输⼊,或者⽂本框是空,这时候是查询所有//做两个恒成⽴的条件string tj1 = " 1=1 ";string tj2 = " 1=1 ";//根据⽤户输⼊来改变条件//如果⽤户输⼊了姓名if (name != ""){tj1 = " Name like @name ";}//如果⽤户输⼊了民族if (nation != ""){tj2 = " Nation = @nation ";}//拼接成完整条件string ztj = " where "+tj1+" and "+tj2;。

DataGridView行、列的隐藏和删除

DataGridView行、列的隐藏和删除

DataGridView⾏、列的隐藏和删除)⾏、列的隐藏[]' DataGridView1的第⼀列隐藏DataGridView1.Columns(0).Visible = False' DataGridView1的第⼀⾏隐藏DataGridView1.Rows(0).Visible = False[C#]// DataGridView1的第⼀列隐藏DataGridView1.Columns[0].Visible = false;// DataGridView1的第⼀⾏隐藏DataGridView1.Rows[0].Visible = false;2)⾏头、列头的隐藏[]' 列头隐藏DataGridView1.ColumnHeadersVisible = False' ⾏头隐藏DataGridView1.RowHeadersVisible = False[C#]// 列头隐藏DataGridView1.ColumnHeadersVisible = false;// ⾏头隐藏DataGridView1.RowHeadersVisible = false;3)⾏和列的删除[]' 删除名为"Column1"的列DataGridView1.Columns.Remove("Column1")' 删除第⼀列DataGridView1.Columns.RemoveAt(0)' 删除第⼀⾏DataGridView1.Rows.RemoveAt(0)[C#]' 删除名为"Column1"的列DataGridView1.Columns.Remove("Column1");' 删除第⼀列DataGridView1.Columns.RemoveAt(0);' 删除第⼀⾏DataGridView1.Rows.RemoveAt(0);4)删除选中⾏[]For Each r As DataGridViewRow In DataGridView1.SelectedRowsIf Not r.IsNewRow ThenDataGridView1.Rows.Remove(r)End IfNext[C#]foreach (DataGridViewRow r in DataGridView1.SelectedRows){if (!r.IsNewRow){DataGridView1.Rows.Remove(r);}}________________________________________⑦ DataGridView 禁⽌列或者⾏的Resize:GO TO TOP1)禁⽌所有的列或者⾏的Resize[]' 禁⽌⽤户改变DataGridView1的所有列的列宽DataGridView1.AllowUserToResizeColumns = False'禁⽌⽤户改变DataGridView1の所有⾏的⾏⾼DataGridView1.AllowUserToResizeRows = False[C#]// 禁⽌⽤户改变DataGridView1的所有列的列宽DataGridView1.AllowUserToResizeColumns = false;//禁⽌⽤户改变DataGridView1の所有⾏的⾏⾼DataGridView1.AllowUserToResizeRows = false;但是可以通过 DataGridViewColumn.Width 或者 DataGridViewRow.Height 属性设定列宽和⾏⾼。

DataGridView 行、列的隐藏和删除

DataGridView  行、列的隐藏和删除

DataGridView 行、列的隐藏和删除:1)行、列的隐藏[]' DataGridView1的第一列隐藏DataGridView1.Columns(0).Visible = False' DataGridView1的第一行隐藏DataGridView1.Rows(0).Visible = False[C#]// DataGridView1的第一列隐藏DataGridView1.Columns[0].Visible = false;// DataGridView1的第一行隐藏DataGridView1.Rows[0].Visible = false;2)行头、列头的隐藏[]' 列头隐藏DataGridView1.ColumnHeadersVisible = False' 行头隐藏DataGridView1.RowHeadersVisible = False[C#]// 列头隐藏DataGridView1.ColumnHeadersVisible = false;// 行头隐藏DataGridView1.RowHeadersVisible = false;3)行和列的删除[]' 删除名为"Column1"的列DataGridView1.Columns.Remove("Column1")' 删除第一列DataGridView1.Columns.RemoveAt(0)' 删除第一行DataGridView1.Rows.RemoveAt(0)[C#]' 删除名为"Column1"的列DataGridView1.Columns.Remove("Column1");' 删除第一列DataGridView1.Columns.RemoveAt(0);' 删除第一行DataGridView1.Rows.RemoveAt(0);4)删除选中行[]For Each r As DataGridViewRow In DataGridView1.SelectedRowsIf Not r.IsNewRow ThenDataGridView1.Rows.Remove(r)End IfNext[C#]foreach (DataGridViewRow r in DataGridView1.SelectedRows){if (!r.IsNewRow){DataGridView1.Rows.Remove(r);}}________________________________________⑦ DataGridView 禁止列或者行的Resize:GO TO TOP1)禁止所有的列或者行的Resize[]' 禁止用户改变DataGridView1的所有列的列宽DataGridView1.AllowUserToResizeColumns = False'禁止用户改变DataGridView1の所有行的行高DataGridView1.AllowUserToResizeRows = False[C#]// 禁止用户改变DataGridView1的所有列的列宽DataGridView1.AllowUserToResizeColumns = false;//禁止用户改变DataGridView1の所有行的行高DataGridView1.AllowUserToResizeRows = false;但是可以通过 DataGridViewColumn.Width 或者 DataGridViewRow.Height 属性设定列宽和行高。

C#DataGridView绑定List对象时,利用BindingList来实现增删查改

C#DataGridView绑定List对象时,利用BindingList来实现增删查改

C#DataGridView绑定List对象时,利⽤BindingList来实现增删查改当DataGridView的DataSource是DataTable的时候,DataTable的数据改变时,DataGridView的数据会随之改变,⽆需重新绑定到DataGridView。

当DataGridView的DataSource是泛型List,当List的数据改变时,则需要先将DataGridView的DataSource设置为new List<T>(),再将改变后的List<T>赋给DataGridView的DataSource。

绑定List时,注意:切莫将DataGridView的DataSource设置为Null,否则会破坏DataGridView的列结构。

如果要对绑定在DataGridView中的List<T>进⾏数据的添加删除,先要把List<T>转换成BindingList<T>,再进⾏绑定:DataGridView.DataSource=new BindingList<T>(new List<T>)。

否则的话会产⽣许多意想不到的错误。

如:初始绑定空数据后再添加数据绑定后,却取不到DataGridView.CurrentCell属性。

IList<T> list= new List<T>();DataGridView.DataSource=list;//DataGridView的⾏不能添加删除DataGridView.DataSource=new BindingList<T>(list);//DataGridView的⾏可以添加删除(只有允许添加⾏、删除⾏)⽰例代码:public partial class ucServer : UserControl{private List<ServerInfo> serverList;private BindingList<ServerInfo> dataBindings;public ucServer(List<ServerInfo> serverList){InitializeComponent();if (serverList == null)serverList = new List<ServerInfo>();this.serverList = serverList;dataBindings = new BindingList<ServerInfo>(this.serverList);}private void ucChecker_Load(object sender, EventArgs e){this.dgParams.DataSource = dataBindings;}private void llDownloadUrl_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){MessageBox.Show("请设置下载地址。

关于C# -WINFORM-DataGridView的更新、删除

关于C# -WINFORM-DataGridView的更新、删除

关于C# -WINFORM-DataGridView的更新、删除一、DataGridView绑定数据库之后直接对其进行操作:1.在按钮添加更新操作代码(只需一行):this.tbTableAdapter.Update(this.abcDataSet2.tb);其中abc为数据库名,tb为表名2.在按钮添加删除操作代码:DialogResult dlResult = MessageBox.Show(this, "要删除这些记录吗?", "请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1,MessageBoxOptions.RightAlign);if (dlResult == DialogResult.Yes){int j = dataGridView1.SelectedRows.Count;int[] l = new int[j];int i;for (i = 0; i < j; i++){l[i] = dataGridView1.SelectedRows[i].Index;}int k = 0;while (k < j){this.abcDataSet2.tb.Rows[l[k]].Delete();k++;}二、DataGridView绑定数据库,把查询结果进行更新、删除操作后保存到数据库:1.在按钮添加更新操作代码:if (MessageBox.Show("确实要修改数据库吗?", "决策提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) ==DialogResult.OK){DataTable dt = dataGridView1.DataSource as DataTable; if (dt != null){try{using (SqlConnection con = newSqlConnection("data source=ksig;initial catalog=AMDMS;userid=sa;pwd=123;")){SqlDataAdapter da = newSqlDataAdapter("select * from account", con);SqlCommandBuilder scb = new SqlCommandBuilder(da);DataSet ds = new DataSet();da.Fill(ds, "account");da.Update(dt);}}catch (DataException de){//}}MessageBox.Show("成功修改数据库!", "恭喜");}else{MessageBox.Show("放弃修改数据库!", "系统提示");}2.在按钮添加删除操作代码://在DataGridView1界面上进行可视化删除dataGridView1.Rows.Remove(dataGridView1.Rows[dataGridView 1.CurrentCell.RowIndex]);//把删除后的DataGridView1的结果更新到数据库中DataTable dt = dataGridView1.DataSource as DataTable;if (dt != null){try{using (SqlConnection con = new SqlConnection("datasource=ksig;initial catalog=AMDMS;user id=sa;pwd=123;")){SqlDataAdapter da = new SqlDataAdapter("select * from account", con);SqlCommandBuilder scb = new SqlCommandBuilder(da);DataSet ds = new DataSet();da.Fill(ds, "account");da.Update(dt);}}catch (DataException de){//}}。

c#winformdatagridview控件删除最左边一列

c#winformdatagridview控件删除最左边一列
任何人都可以根据自己的需要自由地从上面的两种版权协议里面選擇其中一种協議使用此文件也可以同时選擇上面的两种版权协议使用此文件
c#winformdatagridview控 件 删 除 最 左 边 一 列
不是指数据第一列,而是指数据左边那个只进行选择行的那一列,出现黑三角的那个。 用datagridview替代listbox和combobox效果非常好,不仅和数据库连接简单,而且可以自定义显示样式,对数据操作也提供了强大的支持。 之前一直感到不爽的就是左边那自作聪明的导航列,就像excel一样。
去掉方法很简单,把 ቤተ መጻሕፍቲ ባይዱowHeadVisible属性设置为false即可。
虽然说是非常简单的设置,但是知道的觉得简单,不知道的简直头痛到死(我就为这个问题发愁了几个月),遂记录,希望对大家有用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//从dataset中删除所选定行的数据:[方法二]
ds.Tables[0].Rows[this.dataGridView1.SelectedRows[0].Index].Delete();
注意:以上两种方法只选其一
//第二步:[自动生成SQL语句]
//自动生成sql语句且自动执行[靠update()]
DataGridView中删除数据:
第一步:[从控件中清除数据或从DataSet数据集中清除数据均可] 一]
this.dataGridView1.Rows.Remove(this.dataGridView1.SelectedRows[0]);
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
MessageBox.Show("删除成功!");
//第三步:[清空DataSet中的数据,因其与控件关联,所以控件中的数据也会被清除]
//清空dataset数据集中表的所有数据
ds.Tables[0].Clear();
//第四步:重新加载数据
//重新查询数据库,将数据重新绑定至dataset数据集
sda = new SqlDataAdapter("select * from userinfo", conn);
sda.Fill(ds);
this.dataGridView1.DataSource = ds.Tables[0];
相关文档
最新文档