我DATAGRID是动态取出数据的?请问怎么怎么样在BUTTON的事件中删掉动态生成DATAGRID的鼠标移动的记录?代码如下:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
namespace compu
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.DataGrid dataGrid1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button4;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e)
{
DataGridTableStyle mytable=new DataGridTableStyle();
mytable.MappingName="computer";
DataGridTextBoxColumn columnstyle1=new DataGridTextBoxColumn();
columnstyle1.MappingName="dept";
columnstyle1.HeaderText="部门编号";
columnstyle1.Width=80;
columnstyle1.ReadOnly=true;
columnstyle1.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle1);
DataGridTextBoxColumn columnstyle2=new DataGridTextBoxColumn();
columnstyle2.MappingName="dno";
columnstyle2.HeaderText="电脑编号";
columnstyle2.Width=60;
columnstyle2.ReadOnly=true;
columnstyle2.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle2);
DataGridTextBoxColumn columnstyle3=new DataGridTextBoxColumn();
columnstyle3.MappingName="dname";
columnstyle3.HeaderText="电脑名称";
columnstyle3.Width=60;
columnstyle3.ReadOnly=true;
columnstyle3.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle3);
DataGridTextBoxColumn columnstyle4=new DataGridTextBoxColumn();
columnstyle4.MappingName="cuser";
columnstyle4.HeaderText="英文名称";
columnstyle4.Width=60;
columnstyle4.ReadOnly=true;
columnstyle4.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle4);
DataGridTextBoxColumn columnstyle5=new DataGridTextBoxColumn();
columnstyle5.MappingName="puser";
columnstyle5.HeaderText="中文名称";
columnstyle5.Width=60;
columnstyle5.ReadOnly=true;
columnstyle5.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle5);
DataGridTextBoxColumn columnstyle6=new DataGridTextBoxColumn();
columnstyle6.MappingName="moniter";
columnstyle6.HeaderText="显示器";
columnstyle6.Width=90;
columnstyle6.ReadOnly=true;
columnstyle6.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle6);
DataGridTextBoxColumn columnstyle7=new DataGridTextBoxColumn();
columnstyle7.MappingName="cpu";
columnstyle7.HeaderText="C P U";
columnstyle7.Width=70;
columnstyle7.ReadOnly=true;
columnstyle7.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle7);
DataGridTextBoxColumn columnstyle8=new DataGridTextBoxColumn();
columnstyle8.MappingName="hd";
columnstyle8.HeaderText="硬盘";
columnstyle8.Width=70;
columnstyle8.ReadOnly=true;
columnstyle8.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle8);
DataGridTextBoxColumn columnstyle9=new DataGridTextBoxColumn();
columnstyle9.MappingName="sd";
columnstyle9.HeaderText="内存";
columnstyle9.Width=60;
columnstyle9.ReadOnly=true;
columnstyle9.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle9);
DataGridTextBoxColumn columnstyle10=new DataGridTextBoxColumn();
columnstyle10.MappingName="mk";
columnstyle10.HeaderText="显示卡";
columnstyle10.Width=80;
columnstyle10.ReadOnly=true;
columnstyle10.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle10);
DataGridTextBoxColumn columnstyle11=new DataGridTextBoxColumn();
columnstyle11.MappingName="ip";
columnstyle11.HeaderText="IP地址";
columnstyle11.Width=90;
columnstyle11.ReadOnly=true;
columnstyle11.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle11);
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(mytable);
SqlConnection conn=new SqlConnection("server=TIAN;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlDataAdapter adpt=new SqlDataAdapter("select dept ,dno,dname,cuser,puser,moniter,cpu,hd,sd,mk,ip from computer",conn);
DataSet dt=new DataSet();
adpt.Fill(dt,"computer");
dataGrid1.DataSource=dt;
dataGrid1.ReadOnly=true;
dataGrid1.SetDataBinding(dt,"computer");
textBox1.DataBindings.Add("Text",dt,"computer.dno");
}
private void button5_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
private void button4_Click(object sender, System.EventArgs e)
{
//dataGrid1.Refresh();
report report=new report();
report.ShowDialog();
}
private void button2_Click(object sender, System.EventArgs e)
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlCommand cd =new SqlCommand("delete from computer where dept="+textBox1.Text+"",conn);
cd.ExecuteNonQuery();
cd.Dispose();
conn.Close();
MessageBox.Show("删除成功!");
//dataGrid1.Refresh();
}
private void button1_Click(object sender, System.EventArgs e)
{
}
}
}
应该怎么改这些代码
"删掉动态生成DATAGRID的鼠标移动的记录"是什么意思啊?能不能详细说明一下!
楼主,如果你能把问题说得更接近人能理解的地步,你的问题早被解决了!!
附:事件操作
datagrid.Click += new EventHandler(...);//订阅一个事件
datagrid.Click -= ...//取消一个事件订阅.
删除datagrid的当前指向的那条记录:
((System.Data.DataRowView)(datagrid.BindingContext[datatable].Current)).Delete()
学习中