110,571
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 删除按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void iRemove_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (Program.Confirm("确定彻底删除选中的文件吗?"))
{
foreach (var row in normalView.GetSelectedRows())
{
VPath path = (VPath)normalView.GetRow(row);
if (((VPath)normalView.GetRow(row)).Type == FSType.文件夹) //如果是文件夹,要先删除其中已放入回收站中的文件
{
vfsService.DeleteFolders(new Oid[]{((VFolder)normalView.GetRow(row)).Id});
}
else
{
vfsService.DeleteFiles(new Oid[]{((VFile)normalView.GetRow(row)).Id});
}
}
BindGCV(); //刷新
}
}
private void normalView_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
string type = ((VPath)normalView.GetRow(normalView.GetSelectedRows().Length - 1)).Type.ToString(); //所选中行的最后一行
string type1 = ((VPath)normalView.GetRow(normalView.GetSelectedRows()[0])).Type.ToString(); //所选中行的第一行
if (type != type1) //如果选中的第一行类型和最后一行的类型不同,就刷新界面
{
MessageBox.Show("请选择同类型的文件进行删除!");
BindGCV(); //我现在只能这样做,默认选择第一行。但我想的是 最好将后面不同类型的选择去掉,只要选择到和第一行类型一样的位置就好。希望高手指点
}
}
private void gcList_MouseDown(object sender, MouseEventArgs e)
{
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = this.gvList.CalcHitInfo(new Point(e.X, e.Y));
_IsHitInRow = hi.InRow;
if (hi.RowHandle < 0)
{
this.gcList.ContextMenuStrip = null;
return;
}
else
{
stockView = (StockView)this.gvList.GetRow(hi.RowHandle);//获取一行为一个实体对象
gcList.ContextMenuStrip = contextMenuStrip1;
}
}