zoukankan      html  css  js  c++  java
  • GridView.RowCellClick Event

    Fires when a user clicks a data cell. If data is editable and the ColumnViewOptionsBehavior.EditorShowMode property equals MouseDown (or Default, if multiple row selection is disabled), the event is suppressed.

    Namespace:DevExpress.XtraGrid.Views.Grid  
    Assembly:DevExpress.XtraGrid.v19.1.dll

    Syntax

    C#: public event RowCellClickEventHandler RowCellClick

    VB: event Public RowCellClick As RowCellClickEventHandler

    Event Data

    The event handler receives an argument of type RowCellClickEventArgs containing data related to this event.

    The following RowCellClickEventArgs properties provide information specific to this event.

    PropertyDescription
    Button Gets which mouse button was pressed.
    CellValue Gets the edit value of the clicked cell.
    Clicks Gets the number of times the mouse button was pressed and released.
    Column Gets the column that contains the clicked cell.
    Delta Gets a signed count of the number of detents the mouse wheel has rotated. A detent is one notch of the mouse wheel.
    Handled Gets or sets a value specifying whether an event has been handled.
    HitInfo Gets an object that identifies the clicked element.
    IsHMouseWheel This member supports the internal infrastructure, and is not intended to be used directly from your code.
    IsMouseEvent Gets whether these event arguments provide data for the MouseUp, MouseDown, and MouseMove events.
    Location Gets the location of the mouse during the generating mouse event.
    RowHandle Gets the handle of the clicked row.
    X Gets the x-coordinate of the mouse during the generating mouse event.
    Y Gets the y-coordinate of the mouse during the generating mouse event.        

    Remarks

    The RowCellClick event does not fire when a user clicks on a row cell if Grid data is editable and the ColumnViewOptionsBehavior.EditorShowMode property is set to MouseDown (or to Default, if multiple row selection is disabled).

    The HitInfo parameter is not initialized when this event fires. Use the BaseView.CalcHitInfo method to get a HitInfo object.

    Example

    In this example, the Data Grid is in non-editable mode (does not invoke cell editors when users click them). Cells under the "State" column cycle through all "ObjectState" enumerator values when a user clicks these cells.

    using System.Collections.Generic;
    using System.Windows.Forms;
    using DevExpress.XtraGrid;
    using DevExpress.XtraGrid.Views.Grid;

    namespace DXApplication3
    {
        public partial class Form1 : DevExpress.XtraEditors.XtraForm {
            public Form1() {
                InitializeComponent();
                //add Data Grid 
                GridControl gridControl = new GridControl { Parent = this, Dock = DockStyle.Fill }; GridView gridView = new GridView();
                gridView.OptionsBehavior.Editable = false;
                gridControl.MainView = gridView;
                //bind to sample data 
                List<SomeObject> dataSource = new List<SomeObject>();
                for (int i = 0; i < 4; i++)
                    dataSource.Add(new SomeObject { Name = string.Format("Object{0}", i), State = (ObjectState)i });
                gridControl.DataSource = dataSource;

                gridView.RowCellClick += gridView_RowCellClick;
            }

            //when a user clicks any "State" column cell, the cell should change its value 
            void gridView_RowCellClick(object sender, RowCellClickEventArgs e) {
                if (e.Column.FieldName == "State") {
                    ObjectState state = (ObjectState)e.CellValue;
                    ObjectState newState;
                    switch (state) {
                        case ObjectState.Normal:
                            newState = ObjectState.Selected;
                            break;
                        case ObjectState.Selected:
                            newState = ObjectState.Highlighted;
                            break;
                        case ObjectState.Highlighted:
                            newState = ObjectState.Hovered;
                            break;
                        default:
                            newState = ObjectState.Normal;
                            break;
                    }
                    GridView view = sender as GridView;
                    view.SetRowCellValue(e.RowHandle, e.Column, newState);
                }
            }

            //sample data entity 
            public class SomeObject {
                public string Name { get; set; }
                public ObjectState State { get; set; }
            }

            //available values for the "State" column cells 
            public enum ObjectState {
                Normal,
                Selected,
                Highlighted,
                Hovered
            }
        }
    }

  • 相关阅读:
    吴裕雄--天生自然python学习笔记:爬取我国 1990 年到 2017年 GDP 数据并绘图显示
    吴裕雄--天生自然python学习笔记:Matplotlib 基本绘图
    吴裕雄--天生自然PYTHON学习笔记:解决ElementNotInteractableException: Message: element not interactable
    吴裕雄--天生自然PYTHON学习笔记:python自动登录网站
    吴裕雄--天生自然python学习笔记:解决WebDriverException: Message: unknown error: missing or invalid 'entry.level'
    吴裕雄--天生自然python学习笔记:python用 Selenium 组件实现浏览器操作自动化
    吴裕雄--天生自然python学习笔记:python通过“任务计划程序”实现定时自动下载或更新运行 PM2.5 数据抓取程序数据
    zoj 1884 简单 键盘 字符 处理
    zoj 1108 FatMouse's Speed 基础dp
    ZOJ 3432 Find the Lost Sock (异或的运用)
  • 原文地址:https://www.cnblogs.com/joesphos/p/11225536.html
Copyright © 2011-2022 走看看