CheckBoxvarmapSelect=(CheckBox)this.dgrid.Template.FindName("ckbSelectedAll",dgrid);多...
CheckBox varmapSelect = (CheckBox)this.dgrid.Template.FindName("ckbSelectedAll", dgrid);
多选,全选已经实现,可是我不知道在选好了之后怎么获取多选项的ID,varmapSelect.checked只能获取全选那个键的check值啊
我还是给你个例子吧 = =
比如你在前台有两列是酱紫的,
后台遍历IsSelected = true的ID值:
public MainWindow()
{
this.InitializeComponent();
selectedItemId = new List();
}
List selectedItemId;
private void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
DataGridRow dr = e.Row as DataGridRow;
if (dr != null)
{
var rowDataContext = dr.DataContext as 数据实体类
if (rowDataContext.IsSelected == true)
{
selectedItemId.Add(rowDataContext.ID);
}
}
}
数据实体类是指? 菜鸟不懂= =,还有写在LoadingRow()函数里有用?
public class people
{
public double ID;
public string Name;
}
people就是创建的数据实体类。
写在loadingrow当然有用,只不过这是用在datagrid加载row时有用。也就是说一次性的。
如果我要实现按下一个按钮之后再遍历整个checkbox找出被选中的项的ID,没有DataGridRowEventArgs e,咋办?@_@
这不是还要简单么,连前台控件都不需要获取。直接遍历后台绑定的数据集合实体。看哪些实体的isChecked=true。就把这些个实体对象的ID拿出来。这么简单的逻辑。。。看来楼主要多累积下经验和代码基础。