玩转DevExpress.XtraGrid.view.gridview

玩转DevExpress.XtraGrid.view.gridview  


(一)双击展开,收缩字表
Private Sub ExpandedChild(ByVal sender As DevExpress.XtraGrid.Views.Grid.GridView)
'
找出焦点行
Dim VIntPage As Integer = sender.FocusedRowHandle
If sender.GetMasterRowExpanded(VIntPage) Then
sender.CollapseMasterRow(VIntPage)
Else
sender.ExpandMasterRow(VIntPage)
End If
End Sub

(二)单击选中某行的checkbox
Private Sub GridChecked(ByVal sender As DevExpress.XtraGrid.Views.Grid.GridView, ByVal TableIndex As Integer)
Try
'
找出焦点行做在的内存表中所在的行
Dim rowPlace As DataRow = CType(sender, GridView).GetDataRow(CType(sender, GridView).FocusedRowHandle)
'SELECTED
checkbox的字段名(1:选中,0:不选中)
If rowPlace("SELECTED") = 1 Then
rowPlace("SELECTED") = 0
Else
For Each VRow As DataRow In objLowerPriceQueryOut.Info.Tables(TableIndex).Rows
VRow!SELECTED = 0
Next
rowPlace("SELECTED") = 1
End If
Catch ex As Exception
End Try
End Sub

(三)设置gridview只读属性options->optionsbehavior->editablefalse
设置单击选中该列,而不是单元格options->optionsSelction
->EnableApperanceFocusedCell
false

(四)将gridview中某一字段设置为RepositoryItemHyperLinkEdit,要触发该链接的事件,可以在In_place Editor Repository中触发click 事件。但是,触发该事件的同时,gridview中的OptionBehavior->Editable必须设置为true

(五)在gridview中绑定内存表,要改变焦点行某一字段的值
'
根据gridview的焦点行获取内存表的行数
Dim rowGoMain As DataRow = gridview.GetDataRow(sender.FocusedRowHandle)
'
修改该行的值
rowGoMain("
字段名") = "aa"

(六)对DataSet进行查询:
ds.Tables[0].DefaultView.RowFilter = "
查询条件";

(七) 设置展开第一行的字表
gridview.SetMasterRowExpanded(1, True)

(八)设置gridview某一列汇总:选中该列,在SummaryItem设置相应属性即可。DisplayFormat为显示的格式,FieldName为需要汇总的字段……

(九)设置gridview单元格自动换行:在单元格中一个Memo控件,columnedit->new->MemoEdit,gridview中设置optionsview->rowautoheight=true

如果您不想使用 `DevExpress.XtraSpreadsheet`,而是想使用其他方法来实现将多个表格导出到多个工作表并自定义分页名称,您可以考虑使用一些其他的 Excel 导出库,如 `EPPlus` 或 `NPOI`。 以下是使用 `EPPlus` 库的示例代码: ```csharp using OfficeOpenXml; using System.IO; // 创建一个新的 ExcelPackage 实例 using (ExcelPackage package = new ExcelPackage()) { // 遍历每个 GridControl 及其对应的 GridView foreach (var gridControl in gridControls) { GridView gridView = gridControl.MainView as GridView; string sheetName = "CustomSheetName"; // 自定义的工作表名称 // 添加一个新的工作表 ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(sheetName); // 将 GridControl 导出到工作表 int rowIndex = 1; int colIndex = 1; foreach (DevExpress.XtraGrid.Columns.GridColumn column in gridView.Columns) { worksheet.Cells[rowIndex, colIndex].Value = column.Caption; colIndex++; } rowIndex++; foreach (DevExpress.XtraGrid.Views.Base.BaseView view in gridControl.Views) { GridView viewGrid = view as GridView; for (int i = 0; i < viewGrid.DataRowCount; i++) { colIndex = 1; for (int j = 0; j < viewGrid.Columns.Count; j++) { worksheet.Cells[rowIndex, colIndex].Value = viewGrid.GetRowCellValue(i, viewGrid.Columns[j]); colIndex++; } rowIndex++; } } } // 保存 Excel 文件 using (FileStream fileStream = new FileStream("path_to_exported_excel_file", FileMode.Create)) { package.SaveAs(fileStream); } } ``` 请注意,上述代码中的 `gridControls` 是一个包含要导出的 GridControl 的集合。您可以根据您的实际情况进行调整和修改。 希望这对您有所帮助!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值