【发布时间】:2015-11-04 20:56:51
【问题描述】:
我有下面的代码成功地将复选框列添加到 ultrawingrid,我的问题是,当我通过选中 Select 列上的复选框进行选择时,未更新 ultrawingrid 的选定行数,它仍然显示计数为零,我还想知道如何启用多复选框选择,即选择多行...
下面是代码...
private void grdPayVis_InitializeLayout(object sender,InitializeLayoutEventArgs e)
var gridBand = grdPayVis.DisplayLayout.Bands[0];
if(!gridBand.Columns.Exists("Select"))
gridBand.Columns.Add("Select", "Select");
gridBand.Columns["Select"].Header.VisiblePosition = 0;
gridBand.Columns["Select"].Hidden = false;
gridBand.Columns["Select"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
gridBand.Columns["Select"].AutoSizeMode = ColumnAutoSizeMode.AllRowsInBand;
gridBand.Columns["Select"].CellClickAction = CellClickAction.Edit;
}
【问题讨论】:
-
选中或取消选中单元格并不意味着从 SelectedRows 集合中添加或删除该行。如果要保留选中单元格的列表,则应使用 BeforeCellUpdate 或 AfterCellUpdate 或在行上循环并查看复选框单元格的值(这是将布尔列添加到 DataSource 的原因之一网格更好)
-
如何在网格上选择多行,它不像复选框,而是像单选按钮一样,选中第二个框会取消选中第一个复选框已经选中...@Steve
-
@Steve 您能否介绍一下如何进行多选以及如何向数据源添加新列,因为所使用的存储过程正在应用程序的各个页面中使用,并且无法真正改变它
-
您不会更改存储过程。您从存储过程(我想是 DataTable)中获取结果,然后向其中添加一个新的(位/布尔值)DataColumn,将其默认设置为 false 并将 DataTable 设置为网格的 DataSource。现在,对于网格知识,它应该自动更新该字段。使用 DataTable Select 方法可以简单地选择检查设置为 true 的行。如何设置网格的 DataSource?你能添加那个代码吗?
-
@Steve 这是下面设置数据源的代码
标签: c# checkbox infragistics ultrawingrid