示例#1
0
 /// <summary>
 /// 控件处理
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
 {
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
     {
         WebSite.Core.Table.Field field = e.Item.DataItem as WebSite.Core.Table.Field;
         String      name = field.FieldName.ToLower();
         ImageButton del  = e.Item.FindControl("del") as ImageButton;
         if (name == "id" || name == "settingsxml")
         {
             del.OnClientClick = "javascript:return false;";
             del.ImageUrl      = "../images/icos/del_disabled.gif";
         }
         else
         {
             del.OnClientClick = String.Format("javascript:dialogConfirm({{el:this,text:'将删除 {0} 字段且无法恢复!确定要删除吗?'}});return false;", field.FieldName);
         }
     }
 }
示例#2
0
        /// <summary>
        /// 初始化编辑数据
        /// </summary>
        protected void LoadData()
        {
            CurrentField = CurrentFields.Find(a => { return(a.ID == EditID); });
            this.SetFormValue(CurrentField);

            if (CurrentField.DataSource != null)
            {
                //设置数据源类型
                this.SetFormValue(CurrentField.DataSource);

                if (CurrentField.DataSource.Layout != null)
                {
                    //设置布局模式
                    this.SetFormValue(CurrentField.DataSource.Layout);
                }
                if (CurrentField.DataSource.SQLDataSource != null)
                {
                    //设置SQL
                    this.SetFormValue(CurrentField.DataSource.SQLDataSource);
                }

                if (CurrentField.DataSource.ListItemDataSource != null)
                {
                    //设置列表
                    ListItem             = CurrentField.DataSource.ListItemDataSource;
                    ListItemCount.Text   = CurrentField.DataSource.ListItemDataSource.Count.ToString();
                    Repeater1.DataSource = CurrentField.DataSource.ListItemDataSource;
                    Repeater1.DataBind();
                }
            }

            FieldName.Enabled = false;
            isVirtual.Enabled = false;
            if (CurrentField.FieldName == "id" || CurrentField.FieldName == "settingsxml")
            {
                @DataType.Enabled = false;
            }
            @DataType.SelectedValue = Convert.ToString(Enum.Parse(db.dbType, CurrentField.DataType.ToString(), true));
        }
示例#3
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (!IsEdit && ChkField)
            {
                Alert(Label1, "字段已经存在!", "line1px_2");
            }
            else
            {
                Int32 _length = 0;
                Int32.TryParse(@Length.Text, out _length);
                @Length.Text = _length.ToString();

                Int32 _columns = 1;
                Int32.TryParse(RepeatColumns.Text, out _columns);
                RepeatColumns.Text = _columns.ToString();

                String sql            = String.Empty;
                Int32  _datatypevalue = Convert.ToInt32(Enum.Parse(db.dbType, @DataType.SelectedValue, true));
                DataTypeValue.Value = _datatypevalue.ToString();
                if (IsEdit)
                {
                    CurrentField = CurrentFields.Find(a => { return(a.ID == EditID); });

                    #region 检查数据库改动

                    if (isVirtual.SelectedIndex == 1)
                    {
                        //类型类型改动
                        sql = String.Format("ALTER TABLE {0} ALTER COLUMN {1} {2}", CurrentTable.TableName, CurrentField.FieldName, @DataType.SelectedValue);
                        if (CurrentField.Length != _length && _length != 0)//检查长度
                        {
                            sql += "(" + _length + ")";
                        }
                        if (CurrentField.DataType != _datatypevalue || (CurrentField.Length != _length && _length != 0))
                        {
                            try
                            {
                                db.ExecuteCommand(sql);
                            }
                            catch (Exception ex)
                            {
                                Alert(Label1, ex.Message, "line1px_2");
                                return;
                            }
                        }
                    }

                    #endregion
                }
                else
                {
                    CurrentField = new WebSite.Core.Table.Field()
                    {
                        ID = Guid.NewGuid()
                    };
                    if (isVirtual.SelectedIndex == 1)//添加真实字段
                    {
                        sql = sql = String.Format("ALTER TABLE {0} ADD {1} {2}", CurrentTable.TableName, FieldName.Text, @DataType.SelectedValue);
                        if (_length != 0)//设置长度
                        {
                            sql += "(" + _length + ")";
                        }

                        try
                        {
                            db.ExecuteCommand(sql);
                        }
                        catch (Exception ex)
                        {
                            Alert(Label1, ex.Message, "line1px_2");
                            return;
                        }
                    }

                    CurrentFields.Add(CurrentField);
                }
                CurrentField = this.GetFormValue <WebSite.Core.Table.Field>(CurrentField);

                //数据源类型
                CurrentField.DataSource = this.GetFormValue <FieldDataSource>(CurrentField.DataSource);
                //布局模式
                CurrentField.DataSource.Layout = this.GetFormValue <DataSourceLayout>(CurrentField.DataSource.Layout);
                //SQL数据源
                CurrentField.DataSource.SQLDataSource = this.GetFormValue <SQLDataSource>(CurrentField.DataSource.SQLDataSource);
                //列表项目
                if (Repeater1.Items.Count > 0)
                {
                    CurrentField.DataSource.ListItemDataSource = new List <ListItemDataSource>();
                    foreach (RepeaterItem item in Repeater1.Items)
                    {
                        String             text     = ((TextBox)item.Controls[0].FindControl("t1")).Text;
                        String             value    = ((TextBox)item.Controls[0].FindControl("t2")).Text;
                        Boolean            chk      = ((CheckBox)item.Controls[0].FindControl("c1")).Checked;
                        ListItemDataSource listitem = new ListItemDataSource
                        {
                            Selected = chk,
                            Text     = text,
                            Value    = value
                        };
                        CurrentField.DataSource.ListItemDataSource.Add(listitem);
                    }
                }

                SiteTable.SaveTables(SiteTable.Tables);
                Alert(Label1, "保存成功!", "line1px_3");
            }
        }