/// <summary> /// DataRow 의 값을 각각의 LayoutControlItem 의 Control EditValue값에 채워 넣습니다. /// </summary> /// <param name="row">DataRow</param> /// <param name="lcgs">LayoutControlGroup 배열</param> public static void BindingByDataRow(this LayoutControl lc, DataRow row, params LayoutControlGroup[] lcgs) { if (lcgs == null || lcgs.Length == 0) { lcgs = lc.Items.OfType <LayoutControlGroup>().ToArray(); } foreach (LayoutControlGroup lcg in lcgs) { foreach (LayoutControlGroup group in lcg.Items.OfType <LayoutControlGroup>().Where(x => x.Items.Count > 0)) { lc.BindingByDataRow(row, group); } foreach (LayoutControlItem item in lcg.Items.OfType <LayoutControlItem>().Where(x => x.Control != null)) { var columnName = item.GetFieldNameByControlNoPattern(); if (!string.IsNullOrEmpty(columnName) && row.Table.Columns.Contains(columnName)) { item.SetControlValue(row.GetValue(columnName), row.GetValue(columnName.Substring(0, columnName.LastIndexOf('_')) + "_NM").ToStringNullToEmpty()); } } } }