在我的c#应用程序中,我想从我的应用程序中的数据生成报告(word文档),我认为最好的方法是使用我的应用程序中的数据源执行类似邮件合并的操作.
我尝试过使用Microsoft.Office.Interop.Word但是当我不知道如何引用保存的模板文档时,我做不到:
Dictionary<string, string> MailMerge = new Dictionary<string, string>()
{
{ "ID", "123" },
{ "Name", "Test" },
{ "Address1", "Test" },
{ "Address2", "Test" },
{ "Address3", "Test" },
{ "Address4", "Test" },
{ "PostCode", "Test" },
{ "Year End", "Test" },
{ "SicCode", "123" },
};
Document doc = new Document();
doc.MailMerge.Execute(MailMerge);
Run Code Online (Sandbox Code Playgroud)我正在寻找关于进一步研究的一些指导,因为我认为必须采用"标准"方法.
我有一个DataGrid在ItemSource是利用可观察集合约束MVVM原型。我不想显示在我的类中显示的ID属性,DataGrid但是我仍然需要该属性存在。
我的代码:
XAML
<DataGrid ItemsSource="{Binding MyData}" IsReadOnly="True" Name="dtSearch" />
Run Code Online (Sandbox Code Playgroud)
查看模型
private ObservableCollection<MyDataClass> myData;
public ObservableCollection<MyDataClass> MyData
{
get { return myData; }
set
{
myData= value;
RaisePropertyChanged("MyData");
}
}
Run Code Online (Sandbox Code Playgroud)
可观察类
public partial class MyDataClass
{
public int ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
是否可以提供ID属性以将其隐藏DataGrid?
我是否需要为可见属性创建另一个类?
Checkmarx 报告了一个关于密码属性字符串的堆检查漏洞。此属性是模型的一部分,在提交登录表单时绑定。在 ASP.NET MVC 中有没有办法使用除常规字符串以外的任何其他内容来绑定表单中的密码?
到目前为止,我已经尝试将属性类型更改为 char [] 或 SecureString,但在这种情况下,表单不会将数据绑定到它。
public class LoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)