none
dataGridView?? RRS feed

  • 问题

  • 怎样维护dataGridView添加一行 装载的一个List也增加
    删除一行同样list里的数据就删掉
    在dataGridView哪个事件下啊 ,怎么写啊 多谢了!!
    2011年9月8日 1:10

答案

  • Hi vekin201122,
    欢迎来到MSDN论坛!

    我们可以考虑在RowsRemovedCellValueChanged事件中添加方法,如下面的解决方案所示:

    List<string> myList = new List<string>();
    public Form1()
    {
        InitializeComponent();    
    }
    
    private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
        if (dataGridView1.Rows.Count > 1)
        {               
            if ( myList[e.RowIndex]!=null)
            {
                myList.RemoveAt(e.RowIndex);
            }                
        }
    }
    
    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        if (dataGridView1.Rows.Count > 1)
        {
            if (dataGridView1.Rows[e.RowIndex].Cells[0].Value != null)
            {
                if (myList.Count<e.RowIndex+1)
                {
                    myList.Add(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
                }
                else
                {
                    myList[e.RowIndex] = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
                }
            }
        }
    }
    
    

    请参考下面的 MSDN 链接,以获取关于RowsRemovedCellValueChanged事件的信息:
    1. DataGridView.RowsRemoved
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridview.rowsremoved.aspx

    2. DataGridView.CellValueChanged  
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridview.cellvaluechanged.aspx

    祝您中秋愉快!

    Yoyo.


    Yoyo Jiang[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年9月12日 6:13
    版主

全部回复

  • 2个使用同一个数据源即可。

     


    family as water
    2011年9月8日 8:50
  • Hi vekin201122,
    欢迎来到MSDN论坛!

    我们可以考虑在RowsRemovedCellValueChanged事件中添加方法,如下面的解决方案所示:

    List<string> myList = new List<string>();
    public Form1()
    {
        InitializeComponent();    
    }
    
    private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
        if (dataGridView1.Rows.Count > 1)
        {               
            if ( myList[e.RowIndex]!=null)
            {
                myList.RemoveAt(e.RowIndex);
            }                
        }
    }
    
    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        if (dataGridView1.Rows.Count > 1)
        {
            if (dataGridView1.Rows[e.RowIndex].Cells[0].Value != null)
            {
                if (myList.Count<e.RowIndex+1)
                {
                    myList.Add(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
                }
                else
                {
                    myList[e.RowIndex] = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
                }
            }
        }
    }
    
    

    请参考下面的 MSDN 链接,以获取关于RowsRemovedCellValueChanged事件的信息:
    1. DataGridView.RowsRemoved
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridview.rowsremoved.aspx

    2. DataGridView.CellValueChanged  
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridview.cellvaluechanged.aspx

    祝您中秋愉快!

    Yoyo.


    Yoyo Jiang[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年9月12日 6:13
    版主