| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4069 人关注过本帖, 2 人收藏
标题:如何删除DataGrid中的表的一行----急急~~~
只看楼主 加入收藏
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏(2)
 问题点数:0 回复次数:17 
如何删除DataGrid中的表的一行----急急~~~
我已经将dataset 中的表绑定到DataGrid中了
     代码如下~~,但出现错误~出现错误如下:

请各位高手帮我一下呀,谢谢`~
        SqlConnection cn=new SqlConnection();
            cn.ConnectionString="server=(local);Trusted_Connection=yes;database=BlueHill";
            SqlDataAdapter da=new SqlDataAdapter("select * from viwwinLeaveList",cn);
            DataSet ds=new DataSet();
            da.Fill(ds,"viwleave");
            this.dataGrid1.DataSource=ds;
            this.dataGrid1.DataMember="viwleave";

              int a=this.dataGrid1.CurrentCell.RowNumber   ;
              ds.Tables["viwleave"].Rows[a].Delete();
              da.Update(ds,"viwleave");

2.jpg (50.94 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: DataGrid 删除 
2008-01-15 15:07
xf12839356
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2007-11-6
收藏
得分:0 
我也好象遇到过这钟情况

 但是我都没删除行啊`

   等我回去想下是怎么弄好的``
2008-01-15 17:08
dwj520
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-1-14
收藏
得分:0 
private void toolStripButton5_Click(object sender, EventArgs e)
        {

            String MySQLConnectionString = Properties.Resources.ConnString;


            SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
            MyConnection.Open();


            
            //总行不少1
            if (this.dataGridView1.SelectedRows.Count > 0)
            {
                //删除记录
                string b ="";

                for (int i = 0; i < this.dataGridView1.SelectedRows.Count;i++ )
                {
                    //删除行下标=当前行-1;
                    int a = this.dataGridView1.CurrentRow.Index - i;

                    //删除

                    SqlCommand MyCommand = MyConnection.CreateCommand();
                    String MySQL = "delete from 酒店房间 where 房号='"+this.dataGridView1[0,a].Value.ToString()+"'";
                     = MySQL;
                    MyCommand.ExecuteNonQuery();


                }
2008-01-15 21:24
hxhfg
Rank: 1
等 级:新手上路
帖 子:284
专家分:0
注 册:2006-4-18
收藏
得分:0 
我的方法:
        private void dataGridView2_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int row = this.dataGridView2.CurrentRow.Index;
            dataGridView2.Rows[row].Selected = true;

            try
            {
                if (MessageBox.Show("真的要删除序号为" +this.dataGridView2.SelectedRows[0].Cells[0].Value.ToString() + "这个的刀模资料吗?", "提示框", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                {
                    string directory1 = Directory.GetCurrentDirectory() + "\\aa.ini";
                    IniFile db1 = new IniFile(directory1);
                    SqlConnection conn1 = db1.GetDBConn();
                    conn1.Open();
                    SqlCommand cm1 = new SqlCommand("sheji_taomoyinshan", conn1);
                     = CommandType.StoredProcedure;
                    cm1.Parameters.Add("@hao", SqlDbType.VarChar);
                    cm1.Parameters["@hao"].Value = this.dataGridView2.SelectedRows[0].Cells[0].Value.ToString();

                    cm1.ExecuteNonQuery();
                    conn1.Close();
                    toolStripButton1.PerformClick();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

2008-01-16 01:08
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
都不能很好的解决根本的问题`~~哎~~
2008-01-16 09:40
ysjjeahnh
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-10-21
收藏
得分:0 
DataSet 里有个属性 能获得你选中的行  返回一个object数组
再用你里面的da.insertCommand 的删除语句 应该没问题
2008-01-16 14:27
freele_china
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JiNan
等 级:版主
威 望:6
帖 子:352
专家分:0
注 册:2007-4-6
收藏
得分:0 
支持一下,

雁过留声,人过留名
2008-01-17 09:46
tanxiaolin
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-12-12
收藏
得分:0 
我用的是dataGridView,而不是datagrid,我的方法是这样,希望对你有帮助.
String str = this.dataGridView1.SelectedCells[0].Value.ToString();
            string ste = this.dataGridView1.SelectedCells[3].Value.ToString();
            DialogResult i = MessageBox.Show("你确定要删除网吧名称为:"+ste+"吗?", "删除确定", MessageBoxButtons.YesNo);
            if (i == DialogResult.Yes)
            {
                if ((str != "")&(ste!=""))
                {
                    try
                    {
                        string Afile = "provider=Microsoft.jet.OLEDB.4.0;Data Source=D:\\mysqlserver\\dgmk.mdb";
                        OleDbConnection AconnStr = new OleDbConnection(Afile);
                        OleDbCommand Icmd = new OleDbCommand("Delete from client where 网吧名称='" + ste + "' and 编号=" + Convert.ToInt32(str) + "", AconnStr);
                        AconnStr.Open();
                        Icmd.ExecuteNonQuery();
                        AconnStr.Close();
                        label4.Text = "";
                        toolStripStatusLabel5.Text = "删除网吧名称为:" + ste + " 成功";
2008-01-17 15:42
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
谢谢名们了~~又长了不少知识
2008-01-26 16:30
linminglong
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-6-13
收藏
得分:0 
删除当前选定的行:
int a;
a = this.dataGridView1.CurrentRow.Index;
dataGridView1.BindingContext[dataGridView1.DataSource, dataGridView1.DataMember].RemoveAt(a);
 tbl1TableAdapter.Update(db1DataSet);
db1DataSet.AcceptChanges();
2008-11-13 09:42
快速回复:如何删除DataGrid中的表的一行----急急~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074540 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved