VirtualMode已经设为true,列为自动生成列,为什么datagridview的CellValueNeeded事件不能触发???

解决方案 »

  1.   

    在以下情况下发生:
    当 DataGridView 控件的 VirtualMode 属性为 true
    并且 DataGridView 只有在单元格中有值的情况下才格式化和显示单元格时。 
      

  2.   

    #region "data store maintance"
    const int initialValue = -1;private void dataGridView1_CellValueNeeded(object sender,
        DataGridViewCellValueEventArgs e)
    {
        if (store.ContainsKey(e.RowIndex))
        {
            // Use the store if the e value has been modified 
            // and stored.            
            e.Value = store[e.RowIndex];
        }
        else if (newRowNeeded && e.RowIndex == numberOfRows)
        {
            if (dataGridView1.IsCurrentCellInEditMode)
            {
                e.Value = initialValue;
            }
            else
            {
                // Show a blank value if the cursor is just resting
                // on the last row.
                e.Value = String.Empty;
            }
        }
        else
        {
            e.Value = e.RowIndex;
        }
    }
    private void dataGridView1_CellValuePushed(object sender,
        DataGridViewCellValueEventArgs e)
    {
        store.Add(e.RowIndex, int.Parse(e.Value.ToString()));
    }
    #endregion
    private Dictionary<int, int> store = new Dictionary<int, int>();==================================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    联系方式:Q66840199  全天在线
    ==================================================================
      

  3.   

    VirtualMode已经设为true,datagridview设为自动生成列,datagridview每个单元格都有值
    但为什么datagridview的CellValueNeeded事件不能触发?
      

  4.   

        VirtualMode已经设为true,datagridview设为自动生成列,datagridview每个单元格都有值,不为空 
    但为什么datagridview的CellValueNeeded事件不能触发?
      

  5.   

          datagridview的CellValueNeeded事件要触发必须datagridview的列是非绑定列(即不能设置datagridview的DataPropertyName属性)