diff --git a/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridView.cs b/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridView.cs index 3779feb290936283f356e22fce08c1d1092da3d9..317ac7a7243571dff33b51263d05a6e83c6f2e7b 100644 --- a/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridView.cs +++ b/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridView.cs @@ -207,7 +207,7 @@ namespace HZH_Controls.Controls { if (value != null) { - if (!(m_dataSource is DataTable) && (!typeof(IList).IsAssignableFrom(value.GetType()))) + if (!(value is DataTable) && (!typeof(IList).IsAssignableFrom(value.GetType()))) { throw new Exception("数据源不是有效的数据类型,请使用Datatable或列表"); } diff --git a/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridViewRow.cs b/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridViewRow.cs index dd642a366b519126c5399e15a1f08ae2b34a3eff..897d1c61433136662b507f2e996f84ff85cabd5b 100644 --- a/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridViewRow.cs +++ b/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridViewRow.cs @@ -158,17 +158,32 @@ namespace HZH_Controls.Controls var cs = this.panCells.Controls.Find("lbl_" + com.DataField, false); if (cs != null && cs.Length > 0) { - var pro = DataSource.GetType().GetProperty(com.DataField); - if (pro != null) + if (DataSource is DataRow row) { - var value = pro.GetValue(DataSource, null); if (com.Format != null) { - cs[0].Text = com.Format(value); + cs[0].Text = com.Format(row[com.DataField]); } else { - cs[0].Text = value.ToStringExt(); + cs[0].Text = row[com.DataField].ToStringExt(); + } + } + else + { + var pro = DataSource.GetType().GetProperty(com.DataField); + + if (pro != null) + { + var value = pro.GetValue(DataSource, null); + if (com.Format != null) + { + cs[0].Text = com.Format(value); + } + else + { + cs[0].Text = value.ToStringExt(); + } } } }