【原创】有关Silverlight控件DataGrid的绑定数据后单元格单独复制的功能实现分析

前些日子,公司新需求需要对silverlight的datagrid进行局部任意单元格数据可复制,查阅了半天网络资料愣是没找到相关资料,开始还以为是silverlight的bug根部无法实现,

最后还是实现了。MSDN上也未曾记录这个事件,具体代码如下:

前段xaml文件 需要个datagrid绑定复制事件:

CopyingRowClipboardContent="dataGrid_CopyingRowClipboardContent"

后台代码实现如下:

 void dataGrid_CopyingRowClipboardContent(object sender,DataGridRowClipboardEventArgs e)
        {
            var temp = e.ClipboardRowContent;
            var dgData = sender as DataGrid;
            Int32 i = dgData.CurrentColumn.DisplayIndex;
            string sColumnValue = ((TextBlock)this.dataGrid.Columns[i].GetCellContent(this.dataGrid.SelectedItem)).Text.Trim();
            temp.Clear();
            temp.Insert(0, new DataGridClipboardCellContent(e.Item, dgData.CurrentColumn, sColumnValue));
        }

这样就能实现单元格复制了(也就是复制当前鼠标单击所在行所在咧 的单元格值),否则默认赋值是 复制一行 所有列数据。

时间: 2024-08-27 10:39:05

【原创】有关Silverlight控件DataGrid的绑定数据后单元格单独复制的功能实现分析的相关文章

DevExpress XtraGrid网格控件示例六:自定义合并单元格

假设 "Order Date" 列中包含日期/时间值.如果视图的GridOptionsView.AllowCellMerge选项设置为true,若相邻两个单元格值是日期/时间值的话,这两个相邻单元格便会合并.下面的代码介绍了如何合并例单元格的日期部分,要覆盖默认的单元格合并机制,需要处理一下GridView.CellMerge事件. C# using DevExpress.XtraGrid.Views.Grid; // ... private void gridView1_CellMe

VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息

[cpp] view plaincopy BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl) //{{AFX_MSG_MAP(CTipListCtrl) ON_WM_MOUSEMOVE() ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTipLis

Asp.Net中ObjectDataSource控件传参绑定数据

最近在实习,在上头交付的任务中,由于需要使用Asp.Net的ListView控件,因此必然得就使用了ObjectDataSource控件,由于在使用过程中,需要网页中的参数发送到后台后,运行该参数进行查询数据.这过程必然就牵涉到将参数传送给ObjectDataSource控件,然后在进行查询后的数据绑定.下面我们来看下这个过程是如何实现的: 1.创建一个WebForm页面,拖入ListView控件和ObjectDataSource控件 2.配置ObjectDataSource数据源按照以下步骤进

c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index       Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex); // 取得当前单元格的行 Index       Console.WriteLine(DataGridView1.CurrentCell.RowIndex); ******

按绑定数据设置单元格风格

gridView1.RowCellStyle += (s, e) => { var data = gridView1.GetRow(e.RowHandle); var card = data as I_Craft_Card; if (!card.DoMLackFlag.HasValue ) return; if (card.DoMLackFlag == 0) return; if (card != null) { if (e.Column.FieldName == "ter1"

java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用

注意了:根据实际情况,添加实体里字段的类型,控件类型的判断才可使用.这里控件只有TextView EditText 实体类字段只有String int类型,带值的控件添加tag ,值和实体类的字段值一致 package ice.ui.service; import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import jav

[原创]WinForm分页控件制作

先简单说一下思路: 1.做一个分页控件的导航类,即记录总页数.当前页.每页记录数,下一页.上一页.跳转等操作的页数变更. class PageNavigation{/// <summary>/// display item count for per page/// default value is 20/// </summary>private int _iPerItemCount = 20;public int PerItemCount{get { return _iPerIt

silverlight 控件初始化和布局

https://msdn.microsoft.com/zh-cn/library/dd351483(v=vs.95).aspx 控件初始化和布局 Silverlight 当您创建控件时,务必了解初始化和布局事件和方法的顺序. 这样,您就知道用于改写的正确方法或要处理的正确事件以获得特定的效果. 通常,可以构造 Silverlight 控件并设置其属性:接着创建其可视化表示形式或可视化树:然后该控件经历整个布局过程. 下表列出了在控件创建和布局期间所设置的属性以及发生的事件和方法. 属性.方法和事

Silverlight控件——如何提升应用程序信任度与问题解决

从silverlight5开始,可以在项目设置中勾选“在浏览器内运行时需要提升的信任”来达到在浏览器内运行提权silverlight客户端的目的,在个特性很有用处. 可我使用这个功能时遇到了一个奇怪的故障:我使用visual studio 2010开发一个silverlight5项目,发现上面那个设置项不起作用,无论是否勾选它,代码中的 App.Current.HasElevatedPermissions总会返回false,那些需要提权运行的操作自然也都会失败.累死好几千脑细胞后 才发现故障原因