コード例 #1
0
ファイル: FrmDefaultType.cs プロジェクト: yyan/winform
        /// <summary>
        /// 绑定数据
        /// </summary>
        private void BindData()
        {
            XmlNodeList            xmlNodeLst       = xmlhelper.Read("datatype");
            List <DefaultTypeInfo> dataTypeInfoList = new List <DefaultTypeInfo>();

            foreach (XmlNode xn1 in xmlNodeLst)
            {
                DefaultTypeInfo dataTypeInfo = new DefaultTypeInfo();
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;
                // 得到Type和ISBN两个属性的属性值
                dataTypeInfo.GUID = xe.GetAttribute("guid").ToString();

                // 得到DataTypeInfo节点的所有子节点
                XmlNodeList xnl0 = xe.ChildNodes;
                dataTypeInfo.Name        = xnl0.Item(0).InnerText;
                dataTypeInfo.ChineseName = xnl0.Item(1).InnerText;
                dataTypeInfo.Oracle      = xnl0.Item(2).InnerText;
                dataTypeInfo.Mysql       = xnl0.Item(3).InnerText;
                dataTypeInfo.DB2         = xnl0.Item(4).InnerText;
                dataTypeInfo.SqlServer   = xnl0.Item(5).InnerText;
                dataTypeInfo.Sqlite      = xnl0.Item(6).InnerText;
                dataTypeInfo.Access      = xnl0.Item(7).InnerText;
                dataTypeInfo.lstInfo     = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();

                dataTypeInfoList.Add(dataTypeInfo);
            }

            // 添加一行空行
            dataTypeInfoList.Add(new DefaultTypeInfo());
            gridControl1.DataSource = dataTypeInfoList;

            gridView1.Columns["GUID"].Visible    = false;
            gridView1.Columns["lstInfo"].Visible = false;
        }
コード例 #2
0
ファイル: FrmDefaultType.cs プロジェクト: yyan/winform
        private void gridView1_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (string.IsNullOrEmpty((gridView1.GetFocusedRow() as DefaultTypeInfo).GUID) && (gridView1.FocusedRowHandle + 1 == gridView1.RowCount))
            {
                btnAdd_Click(null, null);
            }

            tmpdataTypeInfo = gridView1.GetRow(e.RowHandle) as DefaultTypeInfo;
        }
コード例 #3
0
ファイル: FrmDefaultType.cs プロジェクト: 15831944/winform-1
        private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            // xmlhelper.Read("bookstore/book[@ISBN=\"7-111-19149-6\"]") Attributes 的属性
            // xmlhelper.Read("bookstore/book[title=\"计算机硬件技术基础\"]") 内部节点

            XmlNodeList xmlNodeLst = xmlhelper.Read("datatype/item[@gid=\"" + tmpdataTypeInfo.Gid + "\"]");
            Int32       idx        = -1;

            switch (e.Column.ToString())
            {
            case "类型名":
                idx = 0;
                break;

            case "名称":
                idx = 1;
                break;

            case "Oracle":
                idx = 2;
                break;

            case "Mysql":
                idx = 3;
                break;

            case "DB2":
                idx = 4;
                break;

            case "Sql Server":
                idx = 5;
                break;

            case "Sqlite":
                idx = 6;
                break;

            case "Access":
                idx = 7;
                break;

            case "CShort":
                idx = 8;
                break;
            }

            if (idx == -1)
            {
                return;
            }

            xmlNodeLst.Item(idx).InnerText = e.Value.ToString();
            xmlhelper.Save(false);

            tmpdataTypeInfo = null;
        }
コード例 #4
0
ファイル: FrmDefaultType.cs プロジェクト: yyan/winform
        /// <summary>
        /// 插入
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnInsert_Click(object sender, EventArgs e)
        {
            XmlNodeList xmlNodeLst   = xmlhelper.Read("datatype/item[@guid=\"" + (gridView1.GetFocusedRow() as DefaultTypeInfo).GUID + "\"]");
            var         datatypeInfo = new DefaultTypeInfo();

            datatypeInfo.GUID    = System.Guid.NewGuid().ToString();
            datatypeInfo.lstInfo = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();
            xmlhelper.InsertElement("item", "guid", datatypeInfo.GUID, string.Format(xmlModel, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty), xmlNodeLst.Item(0).ParentNode);
            xmlhelper.Save(false);

            (gridView1.DataSource as List <DefaultTypeInfo>).Insert(gridView1.FocusedRowHandle, datatypeInfo);
            gridView1.RefreshData();
        }
コード例 #5
0
ファイル: FrmDefaultType.cs プロジェクト: yyan/winform
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            var datatypeInfo = new DefaultTypeInfo();

            datatypeInfo.GUID    = System.Guid.NewGuid().ToString();
            datatypeInfo.lstInfo = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();

            xmlhelper.InsertElement("datatype", "item", "guid", datatypeInfo.GUID, string.Format(xmlModel, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty));
            xmlhelper.Save(false);

            (gridView1.DataSource as List <DefaultTypeInfo>).Insert(gridView1.RowCount - 1, datatypeInfo);
            gridView1.RefreshData();
        }
コード例 #6
0
ファイル: FrmDefaultType.cs プロジェクト: 15831944/winform-1
        /// <summary>
        /// 导入
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnImport_Click(object sender, EventArgs e)
        {
            string importFile = FileDialogHelper.OpenExcel(false);

            if (!string.IsNullOrEmpty(importFile))
            {
                // 判断文件是否被占用
                if (FileUtil.FileIsUsing(importFile))
                {
                    MessageDxUtil.ShowWarning(string.Format("文件[{0}]被占用,请先关闭文件后再重试!", importFile));
                    return;
                }

                DataTable dt = MyXlsHelper.Import(importFile, "标准数据类型", 2, 1);

                // 如果没有结果集就不在继续
                if (dt == null)
                {
                    return;
                }

                Int32 addRows = 0;
                for (Int32 i = 0; i < dt.Rows.Count; i++)
                {
                    // 判断是否存在不存在则添加
                    if (!lstName.Contains(dt.Rows[i][0].ToString()))
                    {
                        var datatypeInfo = new DefaultTypeInfo();
                        datatypeInfo.Gid         = System.Guid.NewGuid().ToString();
                        datatypeInfo.Name        = dt.Rows[i][0].ToString();
                        datatypeInfo.ChineseName = dt.Rows[i][1].ToString();
                        datatypeInfo.Oracle      = dt.Rows[i][2].ToString();
                        datatypeInfo.Mysql       = dt.Rows[i][3].ToString();
                        datatypeInfo.DB2         = dt.Rows[i][4].ToString();
                        datatypeInfo.SqlServer   = dt.Rows[i][5].ToString();
                        datatypeInfo.Sqlite      = dt.Rows[i][6].ToString();
                        datatypeInfo.Access      = dt.Rows[i][7].ToString();
                        datatypeInfo.CShort      = dt.Rows[i][8].ToString();

                        xmlhelper.InsertElement("datatype", "item", "gid", datatypeInfo.Gid, string.Format(xmlModel, dt.Rows[i][0].ToString(), dt.Rows[i][1].ToString(), dt.Rows[i][2].ToString(), dt.Rows[i][3].ToString(), dt.Rows[i][4].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][6].ToString(), dt.Rows[i][7].ToString(), dt.Rows[i][8].ToString()));

                        (gridView1.DataSource as List <DefaultTypeInfo>).Insert((gridView1.DataSource as List <DefaultTypeInfo>).Count - 1, datatypeInfo);
                        addRows++;
                        lstName.Add(dt.Rows[i][0].ToString());
                    }
                }
                xmlhelper.Save(false);

                gridView1.RefreshData();
            }
        }
コード例 #7
0
ファイル: FrmDefaultType.cs プロジェクト: 15831944/winform-1
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            // 假如在查询去掉查询在新增
            if (!string.IsNullOrEmpty(gridView1.ActiveFilterString))
            {
                gridView1.ActiveFilterString = "";
            }

            var datatypeInfo = new DefaultTypeInfo();

            datatypeInfo.Gid     = System.Guid.NewGuid().ToString();
            datatypeInfo.lstInfo = new Dictionary <string, DevExpress.XtraEditors.DXErrorProvider.ErrorInfo>();

            xmlhelper.InsertElement("datatype", "item", "gid", datatypeInfo.Gid, string.Format(xmlModel, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty));
            xmlhelper.Save(false);

            (gridView1.DataSource as List <DefaultTypeInfo>).Insert((gridView1.DataSource as List <DefaultTypeInfo>).Count - 1, datatypeInfo);
            gridView1.RefreshData();
        }
コード例 #8
0
ファイル: FrmDefaultType.cs プロジェクト: yyan/winform
        /// <summary>
        /// 下移
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnMoveDown_Click(object sender, EventArgs e)
        {
            if (gridView1.FocusedRowHandle == (gridView1.RowCount - 2))
            {
                return;
            }

            DefaultTypeInfo cudataTypeInfo   = gridView1.GetFocusedRow() as DefaultTypeInfo;
            DefaultTypeInfo nextdataTypeInfo = gridView1.GetRow(gridView1.FocusedRowHandle + 1) as DefaultTypeInfo;

            // 深拷贝
            DefaultTypeInfo tmpdataTypeInfo = new DefaultTypeInfo();

            tmpdataTypeInfo.GUID        = cudataTypeInfo.GUID;
            tmpdataTypeInfo.Name        = cudataTypeInfo.Name;
            tmpdataTypeInfo.ChineseName = cudataTypeInfo.ChineseName;
            tmpdataTypeInfo.Oracle      = cudataTypeInfo.Oracle;
            tmpdataTypeInfo.Mysql       = cudataTypeInfo.Mysql;
            tmpdataTypeInfo.DB2         = cudataTypeInfo.DB2;
            tmpdataTypeInfo.SqlServer   = cudataTypeInfo.SqlServer;
            tmpdataTypeInfo.Sqlite      = cudataTypeInfo.Sqlite;
            tmpdataTypeInfo.Access      = cudataTypeInfo.Access;
            tmpdataTypeInfo.lstInfo     = cudataTypeInfo.lstInfo;

            // 更新内容
            cudataTypeInfo.GUID        = nextdataTypeInfo.GUID;
            cudataTypeInfo.Name        = nextdataTypeInfo.Name;
            cudataTypeInfo.ChineseName = nextdataTypeInfo.ChineseName;
            cudataTypeInfo.Oracle      = nextdataTypeInfo.Oracle;
            cudataTypeInfo.Mysql       = nextdataTypeInfo.Mysql;
            cudataTypeInfo.DB2         = nextdataTypeInfo.DB2;
            cudataTypeInfo.SqlServer   = nextdataTypeInfo.SqlServer;
            cudataTypeInfo.Sqlite      = nextdataTypeInfo.Sqlite;
            cudataTypeInfo.Access      = nextdataTypeInfo.Access;
            cudataTypeInfo.lstInfo     = nextdataTypeInfo.lstInfo;

            nextdataTypeInfo.GUID        = tmpdataTypeInfo.GUID;
            nextdataTypeInfo.Name        = tmpdataTypeInfo.Name;
            nextdataTypeInfo.ChineseName = tmpdataTypeInfo.ChineseName;
            nextdataTypeInfo.Oracle      = tmpdataTypeInfo.Oracle;
            nextdataTypeInfo.Mysql       = tmpdataTypeInfo.Mysql;
            nextdataTypeInfo.DB2         = tmpdataTypeInfo.DB2;
            nextdataTypeInfo.SqlServer   = tmpdataTypeInfo.SqlServer;
            nextdataTypeInfo.Sqlite      = tmpdataTypeInfo.Sqlite;
            nextdataTypeInfo.Access      = tmpdataTypeInfo.Access;
            nextdataTypeInfo.lstInfo     = tmpdataTypeInfo.lstInfo;

            // 更细XML内容
            string cuXMLStr  = xmlhelper.ReadInnerXML("datatype/item[@guid=\"" + cudataTypeInfo.GUID + "\"]");
            string preXMLStr = xmlhelper.ReadInnerXML("datatype/item[@guid=\"" + nextdataTypeInfo.GUID + "\"]");

            xmlhelper.Replace("datatype/item[@guid=\"" + cudataTypeInfo.GUID + "\"]", preXMLStr);
            xmlhelper.Replace("datatype/item[@guid=\"" + nextdataTypeInfo.GUID + "\"]", cuXMLStr);
            // 更新GUID
            var cuattribute   = xmlhelper.Read("datatype/item[@guid=\"" + cudataTypeInfo.GUID + "\"]").Item(0).ParentNode.Attributes["guid"];
            var nextattribute = xmlhelper.Read("datatype/item[@guid=\"" + nextdataTypeInfo.GUID + "\"]").Item(0).ParentNode.Attributes["guid"];

            cuattribute.Value   = nextdataTypeInfo.GUID;
            nextattribute.Value = cudataTypeInfo.GUID;
            xmlhelper.Save(false);

            gridView1.RefreshData();
            gridView1.FocusedRowHandle = gridView1.FocusedRowHandle + 1;
        }
コード例 #9
0
ファイル: FrmDefaultType.cs プロジェクト: 15831944/winform-1
        /// <summary>
        /// 上移
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnMoveUp_Click(object sender, EventArgs e)
        {
            if (gridView1.FocusedRowHandle == 0)
            {
                return;
            }

            DefaultTypeInfo cudataTypeInfo  = gridView1.GetFocusedRow() as DefaultTypeInfo;
            DefaultTypeInfo predataTypeInfo = gridView1.GetRow(gridView1.FocusedRowHandle - 1) as DefaultTypeInfo;
            // 深拷贝
            DefaultTypeInfo tmpdataTypeInfo = new DefaultTypeInfo();

            tmpdataTypeInfo.Gid         = cudataTypeInfo.Gid;
            tmpdataTypeInfo.Name        = cudataTypeInfo.Name;
            tmpdataTypeInfo.ChineseName = cudataTypeInfo.ChineseName;
            tmpdataTypeInfo.Oracle      = cudataTypeInfo.Oracle;
            tmpdataTypeInfo.Mysql       = cudataTypeInfo.Mysql;
            tmpdataTypeInfo.DB2         = cudataTypeInfo.DB2;
            tmpdataTypeInfo.SqlServer   = cudataTypeInfo.SqlServer;
            tmpdataTypeInfo.Sqlite      = cudataTypeInfo.Sqlite;
            tmpdataTypeInfo.Access      = cudataTypeInfo.Access;
            tmpdataTypeInfo.CShort      = cudataTypeInfo.CShort;
            tmpdataTypeInfo.lstInfo     = cudataTypeInfo.lstInfo;

            // 更新内容
            cudataTypeInfo.Gid         = predataTypeInfo.Gid;
            cudataTypeInfo.Name        = predataTypeInfo.Name;
            cudataTypeInfo.ChineseName = predataTypeInfo.ChineseName;
            cudataTypeInfo.Oracle      = predataTypeInfo.Oracle;
            cudataTypeInfo.Mysql       = predataTypeInfo.Mysql;
            cudataTypeInfo.DB2         = predataTypeInfo.DB2;
            cudataTypeInfo.SqlServer   = predataTypeInfo.SqlServer;
            cudataTypeInfo.Sqlite      = predataTypeInfo.Sqlite;
            cudataTypeInfo.Access      = predataTypeInfo.Access;
            cudataTypeInfo.CShort      = predataTypeInfo.CShort;
            cudataTypeInfo.lstInfo     = predataTypeInfo.lstInfo;

            predataTypeInfo.Gid         = tmpdataTypeInfo.Gid;
            predataTypeInfo.Name        = tmpdataTypeInfo.Name;
            predataTypeInfo.ChineseName = tmpdataTypeInfo.ChineseName;
            predataTypeInfo.Oracle      = tmpdataTypeInfo.Oracle;
            predataTypeInfo.Mysql       = tmpdataTypeInfo.Mysql;
            predataTypeInfo.DB2         = tmpdataTypeInfo.DB2;
            predataTypeInfo.SqlServer   = tmpdataTypeInfo.SqlServer;
            predataTypeInfo.Sqlite      = tmpdataTypeInfo.Sqlite;
            predataTypeInfo.Access      = tmpdataTypeInfo.Access;
            predataTypeInfo.CShort      = tmpdataTypeInfo.CShort;
            predataTypeInfo.lstInfo     = tmpdataTypeInfo.lstInfo;

            // 更细XML内容
            string cuXMLStr  = xmlhelper.ReadInnerXML("datatype/item[@gid=\"" + cudataTypeInfo.Gid + "\"]");
            string preXMLStr = xmlhelper.ReadInnerXML("datatype/item[@gid=\"" + predataTypeInfo.Gid + "\"]");

            xmlhelper.Replace("datatype/item[@gid=\"" + cudataTypeInfo.Gid + "\"]", preXMLStr);
            xmlhelper.Replace("datatype/item[@gid=\"" + predataTypeInfo.Gid + "\"]", cuXMLStr);
            // 更新 gid
            var cuattribute  = xmlhelper.Read("datatype/item[@gid=\"" + cudataTypeInfo.Gid + "\"]").Item(0).ParentNode.Attributes["gid"];
            var preattribute = xmlhelper.Read("datatype/item[@gid=\"" + predataTypeInfo.Gid + "\"]").Item(0).ParentNode.Attributes["gid"];

            cuattribute.Value  = predataTypeInfo.Gid;
            preattribute.Value = cudataTypeInfo.Gid;
            xmlhelper.Save(false);

            gridView1.RefreshData();
            gridView1.FocusedRowHandle = gridView1.FocusedRowHandle - 1;
        }