【问题标题】:Datagridview is completely hidden for bindingsource the second timeDatagridview 第二次对 bindingsource 完全隐藏
【发布时间】:2020-01-28 09:17:24
【问题描述】:
private void populateListingGrid(){

try{

Dictionary<string, Object> responseMap = new Dictionary<string, object>();                
PaginationList newContractDetailsListingMsDTO = getNewContractDetailsListingMsDTO();                
ContractService createContractService = ContractServiceFactory.getInstance();
responseMap = createContractService.getContractListing();                
contractList = responseMap["contractListingMsDTOs"] as List<NewContractListingMsDTO>;
this.newContractListingMsDTOBindingSource.Clear();
             if (contractList != null && contractList.Count > 0)
             {
                 newContractListingMsDTOBindingSource.DataSource = contractList;
                 newContractListDataGridView.Refresh();
             }
}
catch (Exception e)
{
   logger.Info("populateListingGrid");
}
}

我使用newContractListingMsDTOBindingSource 作为绑定源,当我第一次打开数据网格时,它工作得非常好,当我尝试在winforms 中重新打开数据网格视图时,整个数据网格视图似乎崩溃了,甚至连列标题都看不到绑定源。

我是否正确使用了所有绑定源或绑定数据源代码?

【问题讨论】:

  • 我假设您的 newContractListingMsDTOBindingSource 已链接到 Datagridview。调试时错误出现在哪一行?
  • 根本没有错误,无论是在运行时还是在编译时,表格都会消失
  • 所以如果我理解正确的话,DGV不会崩溃,内容不存在(包括表头)?
  • 如果是这样,那么您需要查看您的数据源 (contractList) 对象。
  • 每次在contractList对象中都会有相同的数据。

标签: c# winforms datagridview bindingsource


【解决方案1】:

经过大量的试验和错误,我找到了问题的解决方案,当我设置 DataGridView 的以下属性时它工作了

ColoumnHeadersHieghtSizeMode => AutoSize

如果我将此属性更改为 DisableResizing/EnableResizing,则 Datagridview 第二次隐藏。问题不是直接与BindingSource或Datasource有关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多