小编Dav*_*all的帖子

WinForms数据绑定和外键关系

我正在开发一个WinForms应用程序(.Net 3.5,没有WPF),我希望能够在数据绑定DataGridView中显示外键查找.

这种关系的一个例子是我有一个OrderLines表.订单行与产品和产品具有外键关系,而产品和产品又与ProductTypes具有外键关系.

我想要一个数据绑定DataGridView,其中每一行代表一个订单行,显示该行的产品和产品类型.

用户可以直接向网格添加或编辑订单行,并从comboBoxColumn中为订单行选择产品 - 然后应该在同一行中更新producttype列,显示所选产品的产品类型.

到目前为止,我发现的最接近的一个很好的拟合是引入一个表示订单行的域对象,然后将DataGridView绑定到这些订单行的集合.然后,我将属性添加到公开产品和产品类型的订单行对象,并引发相关的notifypropertychanged事件以使所有内容保持最新.在我的订单行存储库中,我可以将此订单行对象与数据库中的三个表之间的映射连接起来.

这适用于数据绑定方面,但必须手动编写存储库中所有OR映射的代码似乎很糟糕.我认为nHibernate能够帮助完成这个连接但是我正在努力通过所有外键的映射 - 它们似乎工作正常(外键查找订单行的产品根据外键创建正确的产品对象)直到我尝试进行数据绑定,我无法获取数据绑定id列来更新我的产品或producttype对象.

我的一般方法是否在正确的球场?如果是,那么映射问题的解决方案是什么?

或者,是否有更好的数据绑定行解决方案,包括我甚至没有考虑过的外键查找?

.net c# winforms

6
推荐指数
1
解决办法
4369
查看次数

我们怎样才能在firefox中禁用新弹出窗口的大小调整?

我尝试使用打开一个新窗口

window.open("lookup.htm","lookupWin", "height=400,width=500,resizable=false");
Run Code Online (Sandbox Code Playgroud)

它在IE中工作正常,但在FF中,弹出窗口仍可调整大小.如何在FF中禁用此调整大小?

javascript firefox popup

6
推荐指数
2
解决办法
6万
查看次数

在C#中排序列表

所以我有这个C#列表:

List<DatsWussup.Models.JQGridMessage> gridMessages = new List<DatsWussup.Models.JQGridMessage>();
Run Code Online (Sandbox Code Playgroud)

每个JQGridMessage都有一个叫做的属性age.按年龄(最小的第一个)排序此列表的最快捷,最有效的方法是什么.年龄是一个int.

谢谢!

c# sorting list

6
推荐指数
2
解决办法
2714
查看次数

将DataGridView数据导出为ex​​cel

在我的应用程序中,我将DataGridView数据导出到Excel工作表现在我想将组合框和文本框选择的值传递给excel工作表,我必须将我的Excel工作表的标题作为我的Windows应用程序的报告,我该怎么做?

谁可以帮我这个事?

我有将datagridview数据导出到excel的代码:

private void btnexcel_Click(object sender, EventArgs e)    
{

  Excel.Application xlApp;    
  Excel.Workbook xlWorkBook;    
  Excel.Worksheet xlWorkSheet;

  object misValue = System.Reflection.Missing.Value;

  xlApp = new Excel.ApplicationClass();

  xlWorkBook = xlApp.Workbooks.Add(misValue);

  xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

  int i = 0;    
  int j = 0; 

  for (i = 0; i <= dataGridView1.RowCount  - 1; i++)    
  {    
      for (j = 0; j <= dataGridView1.ColumnCount  - 1; j++)    
      {    
         DataGridViewCell cell = dataGridView1[j, i];

         xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;
      }    
  }

  xlWorkBook.SaveAs("csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, …
Run Code Online (Sandbox Code Playgroud)

c# excel datagridview export

6
推荐指数
1
解决办法
8741
查看次数

使用C#创建本机可执行文件

我使用C#的原生EXE是什么样的,我想编译一个基本的EXE,它将在不需要.net框架的情况下运行.我听说ngen.exe可以任何人给我ngen.exe的例子或任何更好的方法.此外,我将为生成的应用程序生成运行时如何将其放入应用程序中,以便使用我的语言的任何人都可以使用其功能.

c# windows exe native compilation

6
推荐指数
1
解决办法
760
查看次数

如何通过按DeleteKey删除DataGridView行?

我在表单上有一个DataGridView.

我想通过按删除键从网格中删除行,但删除键似乎已经死了,直到我进入CellEditMode.

如果我输入CellEditMode然后删除键工作,但显然只是删除单元格内容,而不是删除行.

DataGridView已经AllowUserToDeleteRow = true和网格未绑定.

我有其他网格,这个功能正常,但看不出差异.

c# datagridview winforms

6
推荐指数
1
解决办法
1万
查看次数

为什么Windows Azure CloudBlobContainer访问偶尔会失败,根据验证过程,远程证书无效

我正在使用Windows Azure的评估订阅.

有时,当我尝试访问CloudBlobContainer(如GetPermissions())上的方法时,Web服务会挂起.添加一些日志记录后,我看到"底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.根据验证过程,远程证书无效." 在我的日志中.

我在使用CreateIfNotExists()时也遇到过这种情况.

可能是什么导致了这个?

我最近从版本1.7升级到存储客户端库的版本2但仍然看到此行为.

azure

6
推荐指数
1
解决办法
698
查看次数

DDD +公共无参数构造函数 - 它们应该存在吗?

DDD的其中一个租户是不允许您的对象进入无效状态.对我来说,这意味着不应该有一个公共的无参数构造函数,因为99%的时候它将成为无效状态的对象.

这是前进的好方法吗?当你想要快速上课时,它就变成了一个巨大的PITA.

constructor domain-driven-design

5
推荐指数
1
解决办法
470
查看次数

StructureMap - 覆盖命名实例的构造函数参数

您是否可以覆盖命名实例的构造函数参数,似乎您只能为默认实例执行此操作.

我想要做:

ObjectFactory.With("name").EqualTo("Matt").GetNamedInstance<IActivity>("soccer"); 
Run Code Online (Sandbox Code Playgroud)

structuremap inversion-of-control

5
推荐指数
1
解决办法
1597
查看次数

BitMap Eventlistener无法正常工作

我正在尝试向我的BitMap添加一个事件监听器.Tile扩展了gameProps,扩展了BitMap.我尝试使用addEventListener.那不起作用.但是Adobe文档说Bitmap有一个addEventListener对象.

 package {
            import flash.display.BitmapData;
            import flash.events.*;
            import flash.events.MouseEvent;
            import flash.geom.Rectangle;
            import flash.geom.Point;

            public class Tile extends gameProps {

                public var tileNum:Number = 0;


                public function Tile(tileNumber:Number):void
                {
                    tileNum = tileNumber;           
                    addEventListener(MouseEvent.MOUSE_OVER, respond);
                }


                public function respond(e:MouseEvent):void
                {   trace("HELLO");             
                }

            }   
        }
Run Code Online (Sandbox Code Playgroud)

flash actionscript actionscript-3 addeventlistener

5
推荐指数
1
解决办法
2892
查看次数