From f8a884f8c6ae697bef442ae824dad871df1f95fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=86=8A=E6=9C=AC=E7=86=8Akumamon?= Date: Thu, 5 Dec 2019 16:34:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20UCDataGridView=20=E7=9A=84?= =?UTF-8?q?=20DataSource=20=E6=98=AF=20DataTable=20=E8=B3=87=E6=96=99?= =?UTF-8?q?=E7=84=A1=E6=B3=95=E6=AD=A3=E5=B8=B8=E9=A1=AF=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controls/DataGridView/UCDataGridView.cs | 2 +- .../DataGridView/UCDataGridViewRow.cs | 25 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridView.cs b/HZH_Controls/HZH_Controls/Controls/DataGridView/UCDataGridView.cs index 3779feb..317ac7a 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 dd642a3..897d1c6 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(); + } } } } -- Gitee