我使用VB.net 2010构建了一个横向方向的报告,尺寸为16.5厘米*8.25厘米
当您打印报告时直接显示A4页面的大小!
我需要为打印机提供自定义纸张尺寸.如何使报告具有自定义纸张尺寸?
使用 MVVM 标准在 DataGrid 的 RowDetails 模板中添加多个图像。
我有一个带有 DataGrid 的检查窗口,用于保存损坏物品的描述以及检查员的姓名首字母。更重要的是,这个DataGrid的RowDetailsTemplate需要保存检查员拍摄的损坏物品的图片(因此损坏物品的图片可能不止一张)。
我有一个 DamagedWindow.xaml 旨在创建我的 DamagedItem 条目。它看起来像这样:

数据网格 (.XAML)
<DataGrid ItemsSource="{Binding Pictures}" SelectedItem="{Binding SelectedPicture}" AutoGenerateColumns="False" Grid.Column="1" Grid.Row="2" Margin="5" HorizontalAlignment="Stretch" Name="DataGrid1" VerticalAlignment="Stretch" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Titre" Binding="{Binding Name}" Width="*" />
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<Image Height="100" Source="{Binding Path}" />
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
如您所见,我的 RowDetails 模板在此 DataGrid 中运行良好。我有一个名为 PicturesList 的类,它继承了我的 PictureModel( Name, Description, Path)的 ObservableCollection 。
您在 DataGrid 上方看到的文本框是我的 DamagedItemModel ( Description, Initiales, PicturesList) 的属性。因此,当用户单击接受(复选标记)按钮时,将损坏的项添加到损坏的项列表中,然后从我的主窗口将其设置为 DataGrid …
我需要一种方法,通过点击我的界限将项目设置为已完成.完成后,由于行的过滤器,不再看到该项目.CheckBoxDataGridViewDataGridViewDataView
我有一个DataGridView必然的DataView.
Private Sub LoadLispImprovements()
Private ViewLispImprovements As New DataView
ViewLispImprovements.Table = Programs.Tables("dtLispImprovements")
ViewLispImprovements.RowFilter = "Completed=0"
Lisp_dgvImprovements.DataSource = ViewLispImprovements
End Sub
Run Code Online (Sandbox Code Playgroud)
这个DataView表的设置如下DataTable:

这DataTable将其主键设置为正确的字段.该Completed字段有一个红色方块,只是为了向您展示我将其设置为布尔值.
看看我的DataGridView:

这是我点击复选框的地方,该项目应该被过滤掉(因为没有勾选ShowAll复选框)
当我点击时CheckBox,该项目保持在DataGridView.为了将其过滤掉,我必须选择另一行.看一看:

当我改变行时,它最终会消失:

在选中完成的复选框后,如何让它立即删除?
PS:是的我有CurrentCellDirtyStateChanged事件处理程序.
Private Sub Lisp_dgvImprovements_CurrentCellDirtyStateChanged(sender As Object, e As System.EventArgs) Handles Lisp_dgvImprovements.CurrentCellDirtyStateChanged
If Lisp_dgvImprovements.IsCurrentCellDirty Then
Lisp_dgvImprovements.CommitEdit(DataGridViewDataErrorContexts.Commit)
End If
End Sub
Run Code Online (Sandbox Code Playgroud) 我在生成报告时遇到问题。
我应该使用数据库中的所有数据动态生成报告(源名称和存储为 xml 字符串的 rdlc 报告)
所以我解决了下一个问题:
设置文件路径;
var rViewer = new ReportViewer();
rViewer.LocalReport.ReportPath = @"Path to the generated xml rdlc file";
var dataSource = new ReportDataSource("DataSourceName", data);
rViewer.LocalReport.DataSources.Add(dataSource);
Run Code Online (Sandbox Code Playgroud)我可以在代码隐藏中直接指定 Report XML String 而不是生成 rdlc 文件并为其设置路径吗?你能推荐一个更好的方法吗?
谢谢你
我的datagridview有两列([问题],[答案]).根据已知的问题类型(是/否 复选框,文本文本 框,文件上载 按钮),我希望列单元格具有相应的控件.
例
Datagridview行:
我以编程方式创建我的datagridviews.
Private Sub FormatQuestionDgv(ByVal dgv As DataGridView)
Dim ColQ As New DataGridViewTextBoxColumn
Dim ColA As New DataGridViewColumn
'Header text
ColQ.HeaderText = "Question"
ColA.HeaderText = "Answer"
'Name
ColQ.Name = "ColQ"
ColA.Name = "ColA"
'Widths
ColQ.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
ColA.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'Add columns
With dgv.Columns
.Add(ColQ)
.Add(ColA)
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
我有一个Excel文件,需要处理复选框.复选框的名称是用法语自动定义的(由于我的安装是法语).例如"Caseàcocher100"而不是"Checkbox 100".
但是,当我们的兄弟公司使用这个Excel文件时,由于它们的安装是英语而崩溃.
有没有办法为英语和法语做以下工作?
ActiveSheet.CheckBoxes("Case à cocher 488").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 383").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 467").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 461").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 460").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 459").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 458").Interior.Color = RGB(255, 255, 255)
ActiveSheet.CheckBoxes("Case à cocher 8").Interior.Color = RGB(255, 255, 255)
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到重命名复选框名称的方法.
所以我有一堂课,如下所示:
Public Class parameters
Public Property test As String
Public Property test_type As String
Public Property user_test_name As String
Public Property meas As String
Public Property spec_min As String
Public Property spec_max As String
Public Property spec_unit As String
Public Overrides Function ToString() As String
Return user_test_name
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
我已将每个对象写入对象列表中,并将它们写入列表框。
我想上下移动列表框中的项目,我已经通过以下代码成功完成了此操作:
Private Sub up_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles up.Click
'Move up
'Make sure our item is not the first one on the list.
If …Run Code Online (Sandbox Code Playgroud) 我有一个主要DataSet包含几个DataTables.这些不同的DataTable分别绑定到DataGridView的DataSource.
我的问题是每当我修改显示区域中的某些内容时,如下面的描述文本框,然后单击保存....
<<< To >>> 
DataGridView没有复制的更改,如下所示:

我需要一种方法来更新DataTable ...我的保存按钮成功保存了信息.我是DataSets和DataTables的新手,所以这是我第一次尝试更新DataTable.我怀疑我需要重新加载DataTable中的信息,必须有更高效的东西吗?
我正在尝试使用ReportViewer在报表中将两个DataTable添加到表(tablix).
数据表
我将列出一个程序列表和每个程序的改进列表.
这是我正在寻找的一个例子:

我不确定如何设计我的ReportViewer.使用Table(tablix)是一个好方法还是有更简单的方法呢?也许使用Matrix?您将如何设计包含两个DataTable的报告?
我想在出现错误时显示我在Label的"Error on ErrorProvider1上的错误"属性中放置的文本.请参阅下面的标签属性.

我尝试将红色矩形中的文本显示到我的ErrorProvider1 SetError(control, value)函数中.
If TextBox1.Text.Trim.Contains("'") Then
ErrorProvider1.SetError(lblErr, ErrorProvider1.GetError(lblErr))
Else
ErrorProvider1.SetError(lblErr, "")
End If
Run Code Online (Sandbox Code Playgroud)
如何从lblErr检索"ErrorProvider1上的错误"文本以在ErrorProvider1 SetError值中显示它?
vb.net ×8
datatable ×3
c# ×2
datagridview ×2
rdlc ×2
reportviewer ×2
cells ×1
checkbox ×1
datagrid ×1
datasource ×1
excel ×1
excel-vba ×1
localization ×1
localreport ×1
mvvm ×1
printing ×1
report ×1
rowfilter ×1
updates ×1
vba ×1
winforms ×1
wpf ×1