關於DEV15.1版本的GridView

qq_25020211 2017-10-09 02:59:54
DEV獲取選中行經常這樣用
var RowIndex=gridview1.getselectrows();
forecase(var item In RowIndex)
{
var RowModel= gridview1.getrow(item) as T;
處理代碼省略
}
gridview1.RefreshData();

這樣處理就界面一同刷新了,但是我每次都要這樣用 , 於是我封裝了這一段代碼
public static Dictionary<int, T> GetSelectRowDic<T>(GridView gridView) where T : class ,IMemberwiseClone<T>, new()
{
Dictionary<int, T> rowDictionary = new Dictionary<int, T>();
int[] RowIndex = gridView.GetSelectedRows();
if (!RowIndex.Any())
return null;
foreach (var item in RowIndex)
{
if (item < 0)
{
continue;
}
var RowModel = gridView.GetRow(item) as T;
rowDictionary.Add(item, RowModel.ShallowCopy());
}
return rowDictionary;
}
/// <summary>
/// 獲取選中行
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="gridView"></param>
/// <returns></returns>
public static List<T> GetSelectRow<T>(GridView gridView) where T : class, IMemberwiseClone<T>, new()
{
return GetSelectRowDic<T>(gridView).Select(p => p.Value).ToList();
}
接口
namespace SJFOOD3.IModel
{
public interface IMemberwiseClone<T> where T : class ,new()
{
/// <summary>
/// 淺表複製
/// </summary>
/// <returns></returns>
T ShallowCopy();
}
}

接口實現
public vw_role_action_role ShallowCopy()
{
return (vw_role_action_role)this.MemberwiseClone();
}
使用方法:
var RowList = GridViewSetting.GetSelectRow<vw_role_action_role>(VW_Role_Action);
但是這樣我獲取到的List還是不能隨著當前的值改變,而去改變數據源 , 使用 gridview1.RefreshData(); 刷新刷新不了,請問是否有解決方案? 在不升級DEV的情況下

...全文
236 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_25020211 2017-11-17
  • 打赏
  • 举报
回复
有没有人啊 ?    没有人 , 我无奈就只能结帖了?
qq_25020211 2017-11-14
  • 打赏
  • 举报
回复
请问有大牛回答这个问题么 ???? 有什么方法? 还是说我说的 , 大家看不明白?
qq_25020211 2017-10-12
  • 打赏
  • 举报
回复
引用 3 楼 njit_77的回复:
this.MemberwiseClone()是不是这里的问题?用浅复制试试?
这个就是浅表复制吧?
njit_77 2017-10-10
  • 打赏
  • 举报
回复
this.MemberwiseClone()是不是这里的问题?用浅复制试试?
qq_25020211 2017-10-10
  • 打赏
  • 举报
回复
没人吗?自顶!!!!!!
qq_25020211 2017-10-10
  • 打赏
  • 举报
回复
大哥们在哪里。。。。。。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧