如何获得DataGrid选择的多行值

TOTTI1025 2006-10-24 03:05:15
一个需求,帮忙。
用户拿鼠标选择多行。按住ctrl键。如何获得用户选择的这几行值呢?
...全文
191 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
marvelstack 2006-10-25
  • 打赏
  • 举报
回复
//显示选中的多行,对DataGrid列进行排序后选择也适用
private void btnShowSelectedRow_Click(object sender, System.EventArgs e)
{
CurrencyManager currencyManager = (CurrencyManager)this.BindingContext[this.dataGrid1.DataSource,this.dataGrid1.DataMember];
StringBuilder sb = new StringBuilder();
for(int i = 0;i < dataGrid1.VisibleRowCount;i++)
{
if(this.dataGrid1.IsSelected(i))
{
DataRowView drv = (DataRowView)currencyManager.List[i];
DataRow dr = drv.Row;
sb.AppendFormat("{0} {1} {2}\n",dr[0],dr[1],dr[2]);
}
}
//打印选择数据
MessageBox.Show(sb.ToString());
}

//根据DataRow [] drs 选择DataGrid中对应的行
private void btnShowSelectedRow_Click(object sender, System.EventArgs e)
{
DataRow [] drs = DataTable.Select("条件");
CurrencyManager currencyManager = (CurrencyManager)this.BindingContext[this.dataGrid1.DataSource,this.dataGrid1.Memeber];
//for(int i = 0;i < dataGrid1.VisibleRowCount;i++)
for(int i = 0;i < currencyManager.Count;i++)
{
DataRowView drv = (DataRowView)currencyManager.List[i];
DataRow dr = drv.Row;
if(Array.IndexOf(drs,dr) != -1)
{
this.dataGrid1.Select(i);
}
}
}
wangzhenyun_512 2006-10-24
  • 打赏
  • 举报
回复
选择时把行标识放到hidden里,然后到服务器端处理

110,536

社区成员

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

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

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