2016-12-03 111 views
0

我试图删除的数据值i导入到DGV,我的代码到目前为止是:从数据网格视图中删除项目与删除按钮

private GArrayList<int> idList = new GArrayList<int>(); 

private void removeButton_Click(object sender, EventArgs e) 
{ 
    int listIndex; 
    IDStruct idValue; 
    DialogResult dialogResult; 

    listIndex = this.displayDGV.CurrentRow.Index + 1; 
    idValue = idList[listIndex]; <---- Error here 
    dialogResult = MessageBox.Show("Delete " + idValue.Index.ToString("d4") + " " + 
            idValue.ID, "Delete Value", 
            MessageBoxButtons.YesNo, MessageBoxIcon.Question); 
    if (dialogResult == DialogResult.Yes) 
    { 
    this.idList.RemoveAt(listIndex); 
    //this.RefreshClientAreaControls(listIndex); 
    } 
} 

我得到的错误是不能隐式转换键入int到IDStruct。 的IDStruct是I类制成,这里是该类代码:

public class IDStruct 
{ 
    private int index; 
    private int id; 

    public IDStruct(int indexValue, int idValue) 
    { 
    this.Index = indexValue; 
    this.ID = idValue; 
    } 

    public int Index 
    { 
    get 
    { 
     return this.index; 
    } 
    set 
    { 
     this.index = value; 
    } 
    } 

    public int ID 
    { 
    get 
    { 
     return this.id; 
    } 
    set 
    { 
     this.id = value; 
    } 
    } 
} // End class IDStruct  

}}

错误显然是正确的,但我不知道到底怎么写的语法和可以使用一些方向。任何帮助都是极好的!我试图研究一些帮助,但没有多少运气。我还是新来的C#。

谢谢!

+0

哪条指令给你错误? – cyanide

+0

'idValue = idList [listIndex];' – Luke

回答

0

您声明为抛出错误的语句是将int类型的值分配给idValue,该idValue的类型为IDStruct。当然,你知道,因为你已经接受错误是正确的。

如果idList是馈入DGV的数据,那为什么要使用idValue呢?

我会认为,如果idList包含DGV的数据,然后直接删除它。不需要idValue。

如果您试图将值分配给IDStruct,那么您需要调用与您希望更改的属性相对应的idValue的setter方法。

+0

谢谢你...非常有帮助! – Luke

相关问题