- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
reportGrid = new DataGridView();
foreach (DataGridViewColumn col in grid.Columns)
{
DataGridViewColumn newCol = new DataGridViewColumn();
newCol = (DataGridViewColumn)col.Clone();
reportGrid.Columns.Add(newCol);
}
我试图模仿上面的一些现有代码,这些代码适用于 DatagridView 但适用于 UltraGrid 但不确定如何克隆该列,我还查看了适用于 UltraGridRows 的 CopyFrom。
foreach (UltraGridColumn col in grid.DisplayLayout.Bands[0].Columns)
{
UltraGridColumn newCol = new UltraGridColumn(); //Errror here as well
//newCol = (UltraGridColumn)col.Clone();
newCol.CopyFrom(col);
reportGrid.DisplayLayout.Bands[0].Columns.Add(newCol);
}
最佳答案
要重构 InitializeLayout 方法,我的意思是提取为此方法编写的所有代码(通常格式化列以供显示或网格的其他一次性配置)并将所有内容放在可直接调用的不同方法中来自您的代码。
然后,当您的用户按下按钮打印网格时,使用相同的数据源初始化 gridReport,调用相同的公共(public)代码并对第二个网格上的列执行特定的隐藏。
这个伪代码假设你已经声明了两个网格(带有初始数据的 grdMain 和用于打印的 grdReport)我还假设存在一个 ultraGridPrintDocument 来开始打印过程
private void gridMain_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
CommonInitializeLayout(gridMain, e);
}
private void CommonInitializeLayout(UltraWinGrid grd, InitializeLayoutEventArgs e)
{
UltraGridBand b = e.Layout.Bands[0];
// Now do the customization of the grid passed in, for example....
b.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
b.Override.AllowAddNew = AllowAddNew.No;
b.Override.NullText = "(Not available)";
b.Columns["CustName"].Header.Caption = "Customer Name";
....... etc ....
}
private void cmdMakeReport_Click(object sender, EventArgs e)
{
// This assignment will trigger the InitializeLayout event for the grdReport
grdReport.DataSource = grdMain.DataSource;
// Now the two grids have the same columns and the same data
// Start to hide the columns not desired in printing
grdReport.DisplayLayout.Bands[0].Columns["CustID"].ExcludeFromColumnChooser =
ExcludeFromColumnChooser.True
grdReport.DisplayLayout.Bands[0].Columns["CustID"].Hidden = true;
// .... other columns to hide.....
// Now print the grdReport
ultraGridPrintDocument.Grid = grdReport;
ultraGridPrintDocument.Print();
}
private void gridReport_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
CommonInitializeLayout(griReport, e);
}
关于c# - 如何克隆 UltraGridColumn (Infragistics)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12289115/
完成一些符合 Infragistics UltraGrid 要求的任务。在他们的站点上找到了 Infragistics 控件的列表,但其中没有 UltraGrid,只有 WinGrid。请告诉我,这些
我有 ig:TemplateDataField 包含标签。 在 InitializeRow 事件处理程序中,我尝试使用 e.Row.FindControl 找到该标签,但我得到了空值。 我无法找到另一
public class Ticket { public bool Selected { get; set; } public string TicketID
我有一个 Windows 应用程序,我们在其中使用 Infragistics 控件。现在,我们正在使用 InstallShield 创建其安装项目。 这是我第一次使用 InstallShield。看来
显示 UltraGrid 绑定(bind)到的行数的最佳方式是什么? 我希望能够做到,this.UltraGrid.DataSource = myCustomObject; 并且,网格应显示数据以及行
我正在尝试检索 DataRecord与绑定(bind)到我的 XamDataGrid 的给定数据项相关联.有没有办法找到DataRecord除了枚举所有 DataRecords在集合和比较DataRe
我需要在UltraGrid中从底部开始向顶部显示行,而不是通常从顶部到底部显示行。 是否需要设置属性才能实现此显示?我似乎找不到。 所需布局的示例 最佳答案 此功能未内置在WinGrid控件中,如果您
我希望根据行中的 bool 同步属性禁用 Ultragrid 中的某些行。我想过两种不同的解决方案,但都没有成功。 1) 将 Sync 属性数据绑定(bind)到行的 Activation 属性。这可
我正在使用 Infragistics 的 igGrid 来处理我公司的 Web 应用程序上的数据。我们希望将网格用作用户数据交互(添加/编辑/删除/查看记录)的“可编辑网格”。 我想播放的场景是当用户
我正在使用 Ignite UI 网格。 列是从数据库动态构建的,如下所示:- $.post('/Main/GetColumns',function(data){ $("#mygrid")
我有一个网格,我想自动调整列的大小。当对 PerformAutoResize() 使用不同的参数值时,我遇到了不一致的情况。传递以下值时,true 表示包含列标题: PerformAutoResize
请考虑以下场景: IgniteUI 16.1 igGrid 支持 igGridUpdating 功能和 RESTDataSource 用户通过模态对话框创建新记录 使用表单数据发起发布请求 服务器处理
我使用的版本是 15.2(ignite UI) 导出函数如下: $.ig.GridExcelExporter.exportGrid($("#grid"), {
我有一个 UltraCalendarCombo 日历控件,我需要禁用一组日期(基本上是周末和公共(public)假期)。 我遍历该月的日期列表并将所有相应的日期设置为禁用,这使得当前月份看起来不错,但
我需要能够支持 XamDataGrid,它在设计时不会有一定数量的列。例如,应用程序将运行,从服务器获取一些数据并创建一些对象。根据服务器的响应,每次运行应用程序时我可能有不同数量的对象。 这是我的意
我正在使用 linq 拉回一个对象(即客户),该对象可能具有其他对象(customer.orders)的集合。如果我可以将此客户列表传递给 ultragrid,并在数据绑定(bind)上显示客户和他们
默认情况下,对于任何行删除,ultraWinGrid 都会弹出一个删除确认框。如何关闭该功能? 如果我在代码中删除,那就没问题了: myUltraGrid.DeleteSelectedRows(Fal
在最后一列上按右箭头键时,有什么方法可以强制 Infragistics Ultragrid 不移动到行下方? 例如,在表格下方,在具有“C”值(COL_1,第 1 行)的单元格中 - 如果我按向右箭头
我有一个基础设施 ultraCombo我设置为特定的 datasource .我想预先选择这些值之一,这样用户就不必选择它(大多数情况下它将是预先选择的值)。但是,当我设置 ultraCombo 时对
我在我的 View 中显示了一个 igGrid,它在每一行上都启用了编辑和删除。 我想根据记录显示编辑和删除按钮。根据列数据,某些行将同时具有“编辑”和“删除”按钮,而其他行只能具有“编辑”或“删除”
我是一名优秀的程序员,十分优秀!