public static string SearchControl(this Tk5FieldInfoEx field, DataRow dataRow, DataSet dataSet)
        {
            TkDebug.AssertArgumentNull(field, "field", null);

            ControlType ctrlType = field.InternalControl.SrcControl;
            string result = string.Empty;

            switch (ctrlType)
            {
                case ControlType.Combo:
                case ControlType.RadioGroup:
                    result = field.Combo(dataRow, dataSet, true);
                    break;
                case ControlType.Text:
                case ControlType.TextArea:
                    result = field.Input(dataRow, true);
                    break;
                case ControlType.CheckBox:
                    result = field.CheckBox(dataRow, true);
                    break;
                case ControlType.Date:
                    result = field.Date(dataRow, true);
                    break;
                case ControlType.DateTime:
                    result = field.DateTime(dataRow, true);
                    break;
                case ControlType.Time:
                    result = field.Time(dataRow, true);
                    break;
                case ControlType.EasySearch:
                    result = field.EasySearch(dataRow, true);
                    break;
                case ControlType.Label:
                case ControlType.Password:
                case ControlType.RichText:
                case ControlType.Upload:
                case ControlType.CheckBoxList:
                    result = string.Format(ObjectUtil.SysCulture, "{0}的控件类型为{1},不支持查询",
                       field.NickName, ctrlType);
                    break;
            }
            return result;
        }
        public static string Control(this Tk5FieldInfoEx field, DataRow dataRow, DataSet dataSet, bool needId = true)
        {
            TkDebug.AssertArgumentNull(field, "field", null);

            ControlType ctrlType = field.InternalControl.SrcControl;
            string result = string.Empty;

            switch (ctrlType)
            {
                case ControlType.TextArea:
                    result = field.Textarea(dataRow, needId);
                    break;
                case ControlType.Combo:
                    result = field.Combo(dataRow, dataSet, needId);
                    break;
                case ControlType.RadioGroup:
                    result = field.RadioGroup(dataRow, dataSet, needId);
                    break;
                case ControlType.CheckBoxList:
                    result = field.CheckBoxList(dataRow, dataSet, needId);
                    break;
                case ControlType.Text:
                case ControlType.Password:
                    result = field.Input(dataRow, needId);
                    break;
                case ControlType.CheckBox:
                    result = field.Switcher(dataRow, needId);
                    break;
                case ControlType.Date:
                    result = field.Date(dataRow, needId);
                    break;
                case ControlType.DateTime:
                    result = field.DateTime(dataRow, needId);
                    break;
                case ControlType.Time:
                    result = field.Time(dataRow, needId);
                    break;
                case ControlType.EasySearch:
                    result = field.EasySearch(dataRow, needId);
                    break;
                case ControlType.MultipleEasySearch:
                    result = field.MultipleEasySearch(dataRow, needId);
                    break;
                case ControlType.Label:
                    result = field.Detail(dataRow, true, needId);
                    break;
                case ControlType.RichText:
                    result = field.RichText(dataRow, needId);
                    break;
                case ControlType.Upload:
                    result = field.Upload(dataRow, needId);
                    break;
            }
            return result;
        }
        public static string Control(this Tk5FieldInfoEx field, ObjectContainer container,
            CodeTableContainer codeTables, bool needId = true)
        {
            TkDebug.AssertArgumentNull(field, "field", null);

            ControlType ctrlType = field.InternalControl.SrcControl;
            string result = string.Empty;

            switch (ctrlType)
            {
                case ControlType.TextArea:
                    result = field.Textarea(container, needId);
                    break;
                case ControlType.Combo:
                    result = field.Combo(container, codeTables, needId);
                    break;
                //case ControlType.RadioGroup:
                //    result = field.RadioGroup(dataRow, dataSet);
                //    break;
                case ControlType.Text:
                case ControlType.Password:
                    result = field.Input(container, needId);
                    break;
                //case ControlType.CheckBox:
                //    result = field.Switcher(dataRow);
                //    break;
                //case ControlType.Date:
                //    result = field.Date(dataRow);
                //    break;
                //case ControlType.DateTime:
                //    result = field.DateTime(dataRow);
                //    break;
                //case ControlType.Time:
                //    result = field.Time(dataRow);
                //    break;
                //case ControlType.EasySearch:
                //    result = field.EasySearch(dataRow);
                //    break;
                case ControlType.Label:
                    result = field.Detail(container, true, needId);
                    break;
                //case ControlType.RichText:
                //    result = field.RichText(dataRow);
                //    break;
                //case ControlType.Upload:
                //    result = field.Upload(dataRow);
                //    break;
            }
            return result;
        }