当前位置:编程学习 > C#/ASP.NET >>

关于 DataGridView 的ReMove问题


我的DataGridView 绑定是用dgDataGridView.DataSource =list<t>

编辑DataGridView 的时候,我想删除一行数据(这个删除操作是不和数据库有任何关系的,只是在界面上少1条数据)
我写的代码如下
 if (dgDataGridView.SelectedRows.Count > 0)
                {
                    dgDataGridView.Rows.Remove(dgDrug.SelectedRows[0]);
                }

 但是总是报错:除非 DataGridView 被数据绑定到支持更改通知并允许删除的 IBindingList,否则不能以编程方式移除行。


请问应该怎么弄啊 --------------------编程问答-------------------- 对数据源 =list <t> 进行删除. --------------------编程问答-------------------- 那你这么说,删除1条数据的话,数据库也要删的啊

我这里删除数据是和数据库没有联系的只是在界面上少1条数据,数据库里还是那么多数据

那楼上的话,应该怎么写啊 --------------------编程问答-------------------- 先删除list <t>指定行数据,在重新dgDataGridView.DataSource =list <t> 
--------------------编程问答--------------------
引用 3 楼 wangxinli_nissan 的回复:
先删除list <t>指定行数据,在重新dgDataGridView.DataSource =list <t> 


具体怎么写啊,能指点1下吗 --------------------编程问答-------------------- 你点击要删除的行的时候 就可以得到这条记录的信息  比如说ID啊等,你就可以在list里面找到相应的信息,然后就对它删除不就得了 --------------------编程问答--------------------
引用 5 楼 zhushoudong 的回复:
你点击要删除的行的时候 就可以得到这条记录的信息  比如说ID啊等,你就可以在list里面找到相应的信息,然后就对它删除不就得了


写不出啊 --------------------编程问答--------------------

            dataGridView1.Rows.Remove(dataGridView1.CurrentRow);
--------------------编程问答--------------------
引用 7 楼 wxm3630478 的回复:
C# code
            dataGridView1.Rows.Remove(dataGridView1.CurrentRow);


这个肯定不行的 --------------------编程问答--------------------
引用 5 楼 zhushoudong 的回复:
你点击要删除的行的时候 就可以得到这条记录的信息  比如说ID啊等,你就可以在list里面找到相应的信息,然后就对它删除不就得了


请问  

List<T>怎么包含dataGridView1里所有数据啊  --------------------编程问答-------------------- 我也遇到过这种情况,用RemoveAt就行了!不过同时绑定的数据源中相应行也被删除了
    
    int row = dataGridView1.SelectedRows[0].Index;
    dataGridView1.Rows.RemoveAt(row);  --------------------编程问答--------------------
引用 10 楼 uncleson88 的回复:
我也遇到过这种情况,用RemoveAt就行了!不过同时绑定的数据源中相应行也被删除了

int row = dataGridView1.SelectedRows[0].Index;
dataGridView1.Rows.RemoveAt(row);


可以么  我从来都不知道唉  去试试看

不过我还是建议楼主把你当前选择的行对应的那个数据在list中给删除,然后重新的绑定

例如 
int  rowIndex=dataGridView1.SelectedRows[0].Index;
list.RemoveAt(rowIndex);
dataGridView1.DataSource=list; --------------------编程问答-------------------- 验证了一下11楼的  的确可以  学习哦
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,