标题:VS2003 dataGrid多行删除
只看楼主
tankin
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-4-12
结帖率:33.33%
 问题点数:0 回复次数:11 
VS2003 dataGrid多行删除
有一个dataSet邦定在dataGrid控件上,想通过选择dataGrid项进行多行删除
2011-04-28 14:48
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
private void delrows()
{
   for(int i=0;i<this.datagrid1.selectrows.count;)
   {
      this.datagrid1.rows.remove(this.datagrid.selectrows[0]);
   }
}

站在春哥的肩膀上
2011-04-29 10:09
tankin
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-4-12
得分:0 
这是应用程序,不是网页,你说的selectrows这个属性没有。等侍答题
2011-04-29 15:06
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
那就多绑定一列checkbox,删除勾选的

站在春哥的肩膀上
2011-04-29 16:37
tankin
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-4-12
得分:0 
可不可以具体点呀,数据是邦定在dataGrid上的,怎么样再邦定多一列到checkBox,关键是怎么样把dataGrid 和checkBox数据得到同步,谢谢
2011-05-01 08:52
tankin
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-4-12
得分:0 
强调多一次,我这个windows操作应用程序,不是网页
2011-05-01 08:54
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
怎么不换成DataGridView控件呢

站在春哥的肩膀上
2011-05-01 09:30
tankin
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-4-12
得分:0 
可不可以具体点呀,数据是邦定在dataGrid上的,怎么样再邦定多一列到checkBox,关键是怎么样把dataGrid 和checkBox数据得到同步,谢谢
2011-05-02 08:02
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
  DataTable ds=DataSet.Tables[0];
ds.Columns.Add("选择", typeof(bool));

站在春哥的肩膀上
2011-05-02 12:25
tankin
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-4-12
得分:0 
//删除数据
        private void btnDelete_Click(object sender, System.EventArgs e)
        {
            bool selectRow = false;
            DataTable dtFind = (DataTable)dgShowData.DataSource;
            string[] ids =new string[dtFind.Rows.Count];
            for (int i = 0; i < dtFind.Rows.Count; i++)
            {
                selectRow = true;
                if (dgShowData.IsSelected(i))
                {
                    ids [i]= i.ToString(); //"; //1,4,6  where id in ( 1,4,6)
                }
            }
            if (selectRow == false || ds.Tables["particular"].Rows.Count == 0)
            {
                MessageBox.Show("There are no data can be deleted!", "Delete notice", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (MessageBox.Show("Would you really delete current S/O data?", "Delete notice", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                for (int j = 0; j < ids.Length; j++)
                {
                    if (ids[j] != null)
                    {
                        dtFind.Rows[(int)j].Delete();
                    }
                }  
            }
      
          }           

2011-05-02 19:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-338256-1-1.html




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

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