private void bindingSource1_AddingNew(object sender, AddingNewEventArgs e)
        {
            int         columnindex = 0;
            int         colindex    = 0;
            DataView    view        = this.bindingSource1.List as DataView;
            DataRowView rowview     = view.AddNew();

            colindex = 1 + (view.Table.Compute("max(ColIndex)", string.Empty) == DBNull.Value ? 0 : Convert.ToInt32(view.Table.Compute("max(ColIndex)", string.Empty)));

            if (this._Instance is KzxGridControl)
            {
                columnindex = (KzxGridControl.ColumnCount++);
            }
            else if (this._Instance is KzxTreeList)
            {
                columnindex = (KzxTreeList.ColumnCount++);
            }
            rowview["ColIndex"]             = colindex;
            rowview["Key"]                  = "column" + view.Count.ToString();
            rowview["Field"]                = string.Empty;
            rowview["MessageCode"]          = "0";
            rowview["DesigeCaption"]        = "显示标题" + columnindex.ToString();
            rowview["ColumnType"]           = ColumnType.Text.ToString();
            rowview["SourceTable"]          = string.Empty;
            rowview["DisplayMemberPath"]    = string.Empty;
            rowview["SelectedValuePath"]    = string.Empty;
            rowview["MaxLength"]            = 0;
            rowview["PasswordChar"]         = string.Empty;
            rowview["ReadOnly"]             = false;
            rowview["IsNull"]               = true;
            rowview["IsUnique"]             = false;
            rowview["Enabled"]              = true;
            rowview["Visible"]              = true;
            rowview["ValidateGroup"]        = string.Empty;
            rowview["FieldCaption"]         = string.Empty;
            rowview["Fixed"]                = DevExpress.XtraGrid.Columns.FixedStyle.None.ToString();
            rowview["ParentField"]          = string.Empty;
            rowview["ValueDependencyField"] = string.Empty;
            rowview["Width"]                = 50;
            rowview["AllowValueRange"]      = false;
            rowview["DataType"]             = KzxDataType.Str.ToString();
            rowview["MaxValue"]             = string.Empty;
            rowview["MinValue"]             = string.Empty;
            rowview["RegexString"]          = string.Empty;
            rowview["ToolTipMessageCode"]   = string.Empty;
            rowview["ToolTipText"]          = string.Empty;

            e.NewObject = rowview;
            XmlRow xmlrow = XmlRow.Converter(rowview);

            this.propertyGrid1.SelectedObject = xmlrow;
        }
        private void bindingSource1_PositionChanged(object sender, EventArgs e)
        {
            if (this.bindingSource1.Position >= 0)
            {
                DataRowView row    = this.bindingSource1.Current as DataRowView;
                XmlRow      xmlrow = XmlRow.Converter(row);

                this.propertyGrid1.SelectedObject = xmlrow;
            }
            else
            {
                this.propertyGrid1.SelectedObject = null;
            }
        }
        private void bindingSource1_ListChanged(object sender, ListChangedEventArgs e)
        {
            DataRowView rowview = null;

            if (e.ListChangedType == ListChangedType.ItemDeleted)
            {
                for (int i = 0; i < this.bindingSource1.Count; i++)
                {
                    rowview = this.bindingSource1[i] as DataRowView;
                    if (rowview != null)
                    {
                        rowview["ColIndex"] = i + 1;
                    }
                }
                if (this.bindingSource1.Current != null)
                {
                    rowview = this.bindingSource1.Current as DataRowView;
                    XmlRow xmlrow = XmlRow.Converter(rowview);

                    this.propertyGrid1.SelectedObject = xmlrow;
                }
            }
        }
Пример #4
0
            public XmlDocument ToXml()
            {
                if (Data != null)
                {
                    int BeginIndex = (Convert.ToInt32(HttpContext.Current.Request.Form["PageSize"])
                                      * Convert.ToInt32(HttpContext.Current.Request.Form["PageIndex"]));
                    BeginIndex++;

                    XmlDocument xmldoc = new XmlDocument();
                    xmldoc.AppendChild(xmldoc.CreateXmlDeclaration("1.0", "utf-8", null));
                    XmlElement DatasetRoot = xmldoc.CreateElement("dataset");
                    XmlElement XmlRow, XmlCol;

                    XmlAttribute attr;
                    attr = xmldoc.CreateAttribute("name");
                    if (!string.IsNullOrEmpty(this.Title))
                    {
                        attr.Value = HttpUtility.HtmlEncode(this.Title);
                        DatasetRoot.Attributes.Append(attr);
                    }
                    attr       = xmldoc.CreateAttribute("index");
                    attr.Value = HttpContext.Current.Request.Form["PageIndex"];
                    DatasetRoot.Attributes.Append(attr);

                    attr       = xmldoc.CreateAttribute("total");
                    attr.Value = TotalRecords.ToString();
                    DatasetRoot.Attributes.Append(attr);

                    StringBuilder sb    = new StringBuilder();
                    var           items = (IEnumerable)Data;
                    if (Columns.Count == 0)
                    {
                        GenerateColumns();
                    }

                    if (EnableRowNo)
                    {
                        Columns.Insert(0, new GridColumn {
                            BindRow = "RowNo", EnableSort = false, Name = ""
                        });
                    }

                    XmlCDataSection cda;
                    foreach (var row in items)
                    {
                        DataBindRow RowData = new DataBindRow(row);
                        XmlRow = xmldoc.CreateElement("row");
                        foreach (var col in Columns)
                        {
                            XmlCol     = xmldoc.CreateElement("col");
                            attr       = xmldoc.CreateAttribute("name");
                            attr.Value = col.Name;
                            XmlCol.Attributes.Append(attr);

                            attr       = xmldoc.CreateAttribute("field");
                            attr.Value = col.BindRow;
                            XmlCol.Attributes.Append(attr);

                            var value = RowData[col.BindRow];
                            cda = xmldoc.CreateCDataSection(col.ToString(RowData, value));
                            XmlCol.AppendChild(cda);

                            if (col.BindRow == "RowNo")
                            {
                                attr       = xmldoc.CreateAttribute("no");
                                attr.Value = BeginIndex.ToString();
                                XmlRow.Attributes.Append(attr);
                                BeginIndex++;
                            }
                            XmlRow.AppendChild(XmlCol);
                        }
                        DatasetRoot.AppendChild(XmlRow);
                    }

                    xmldoc.AppendChild(DatasetRoot);
                    return(xmldoc);
                }
                else
                {
                    return(new XmlDocument());
                }
            }