как управлять datagridview перемещением курсора в C#

Не знаю, правильно ли я понял твой вопрос, но ты имеешь в виду следующее:

import pandas as pd
import numpy as np

data=[9,2,3,4,5,6,7,8]
columns = ['A', 'B', 'C', 'D','E']
df = pd.DataFrame(np.random.randn(8, 5),columns=columns)
fd=pd.DataFrame(data,columns=['Z'])

df=pd.concat([df,fd], axis=1)
print('df = \n', str(df))

anyGreaterThanOne = (df[columns] > 1).any(axis=1)
print('anyGreaterThanOne = \n', str(anyGreaterThanOne))
filtered = df[anyGreaterThanOne]
print('filtered = \n', str(filtered))
Zmean = filtered['Z'].mean()
print('Zmean = ', str(Zmean))

Результат:

    df = 
           A         B         C         D         E  Z
0 -2.170640 -2.626985 -0.817407 -0.389833  0.862373  9
1 -0.372144 -0.375271 -1.309273 -1.019846 -0.548244  2
2  0.267983 -0.680144  0.304727  0.302952 -0.597647  3
3  0.243549  1.046297  0.647842  1.188530  0.640133  4
4 -0.116007  1.090770  0.510190 -1.310732  0.546881  5
5 -1.135545 -1.738466 -1.148341  0.764914 -1.140543  6
6 -2.078396  0.057462 -0.737875 -0.817707  0.570017  7
7  0.187877  0.363962  0.637949 -0.875372 -1.105744  8

anyGreaterThanOne = 
 0    False
1    False
2    False
3     True
4     True
5    False
6    False
7    False
dtype: bool

filtered = 
           A         B         C         D         E  Z
3  0.243549  1.046297  0.647842  1.188530  0.640133  4
4 -0.116007  1.090770  0.510190 -1.310732  0.546881  5

Zmean =  4.5
5
задан Namadgi 2 December 2008 в 02:28
поделиться

1 ответ

Вот ответ от Mark Rideout (Диспетчер Программ DatagridView)

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=157055&SiteID=1

Прокрутите 4 сообщения вниз (и затем больше, потому что они делают лучшие версии позже в потоке).

Для будущих ссылок, если ссылка истечет (Все кредиты Mark Rideout):

Создайте новый класс, названный dvg, который наследовался DataGridView. Скомпилируйте проект и затем используйте это расширенное Datagridview-управление вместо нормального, и у Вас будет datagridview, который выбирает следующую ячейку при нажатии Enter:

public class dgv : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData)
{
    Keys key = (keyData & Keys.KeyCode);
    if (key == Keys.Enter)
    {
        return this.ProcessRightKey(keyData);
    }
    return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        return this.ProcessRightKey(e.KeyData);
    }
    return base.ProcessDataGridViewKey(e);
}

}

6
ответ дан 14 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: