if (dt != null && dt.Rows.Count > 0) { string SHENGFENZH = dt.Rows[0]["SHENGFENZH"].ToString(); entity.SCLX = dt.Rows[0]["SHENQINGDLX"].ToString(); GetChanShaiResult(SHENGFENZH); FormHelper.ValueSetting += (s, f) => { if (dt.Columns.Contains(f.Name)) { f.Value = dt.Rows[0][f.Name]; } }; }
ValueSetting 转到定义为
// 摘要: // 实体与WEBForm转换层 // // 类型参数: // TEntity: public interface IEntityWebUtility<TEntity> : IEntityUIUntity<TEntity, Control> where TEntity : global::MediInfo.IEntity, new() { // 摘要: // 能否验证实体中的参数属性都在页面上生成控件 bool CheckExist { get; set; } // 摘要: // 负值时 event GetValueHandler ValueGetting; // // 摘要: // 取值时 event SetValueHandler ValueSetting; }
FormHelper.ValueSetting += (s, f) =>{}
能否等于
FormHelper.ValueSetting = FormHelper.ValueSetting + (s, f) =>{}
等于 dt.Columns.Contains(f.Name) == true
FormHelper.ValueSetting = FormHelper.ValueSetting + f.Value ;
等于 dt.Columns.Contains(f.Name) == false
FormHelper.ValueSetting = FormHelper.ValueSetting ;
解决方案
10
ValueSetting是事件好不,这段代码是订阅事件
FormHelper.ValueSetting += (s, f) => { if (dt.Columns.Contains(f.Name)) { f.Value = dt.Rows[0][f.Name]; } };
等价于FormHelper.ValueSetting +=两个tab出来的方法里添加
if (dt.Columns.Contains(e.Name)) { e.Value = dt.Rows[0][e.Name]; }
10
+=是用来订阅事件,一般+=后面是一个方法,而()=>{} 这个委托就相当于这个方法