telerik:RadGridView的SelectionChanged事件鼠标移动到另外的cell时自动选中的问题解决

来源:互联网 发布:明星逛过的淘宝店 编辑:程序博客网 时间:2024/06/02 04:28

SelectionChanged表示某项被选中时执行某个功能,当grid中包含多行时,使用SelectionChanged会出现,选中了某行,当鼠标移动到另外的行时,此时鼠标并未点击,但是该行会被自动选中,出现同时选中多行的现象,当代码只希望一次选中一行时,程序会崩溃或出现一些问题。

那怎么才能解决这个问题呢,那就需要使用mouseleftbuttondown,但是gird子项中被左击时事件不会被触发,需要在RowLoaded中为每个row加载mouseleftbuttondown事件。具体加载方式如下:

 private void gridSPRW_RowLoaded(object sender, Telerik.Windows.Controls.GridView.RowLoadedEventArgs e)
        {
            GridViewRowItem rowItem = e.Row as GridViewRowItem;
            if (rowItem != null)
            {
                rowItem.AddHandler(GridViewRowItem.MouseLeftButtonDownEvent, new MouseButtonEventHandler(this.rowItem_MouseLeftButtonDown), true);
            }
        }

void rowItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {

.......

}

0 0
原创粉丝点击