+ Reply to Thread
Results 1 to 2 of 2
  1. #1
    Forum Newbie
    Using
    AutoCAD 2015
    Join Date
    Jan 2016
    Posts
    2

    Unhappy Set "More Option" for "Modify Excel Link" (.NET)

    Registered forum members do not see this ad.

    Hi.
    I'm trying to modify option of Datalink in Autocad using .NET
    How to adjust as shown in the picture.



    This is my code:
    Code:
    private void btn_Data_Click(object sender, EventArgs e)
            {
                ArrayList _lst = new ArrayList();
                for (int k = 0; k < cbb_ExcelFile.Items.Count; k++)
                {
                    _lst.Add(cbb_ExcelFile.Items[k]);
                }
                if (dgv_ERange.RowCount != 0)
                {
                    for (int i = 0; i < dgv_ERange.RowCount; i++)
                    {
                        if (dgv_ERange.Rows[i].Cells[0].Value != null && Boolean.Parse(dgv_ERange.Rows[i].Cells[0].Value.ToString()))
                        {
                            string _namelink = dgv_ERange.Rows[i].Cells[1].Value.ToString();
                            string _file = dgv_ERange.Rows[i].Cells[4].Value.ToString();
                            string _sheet = dgv_ERange.Rows[i].Cells[2].Value.ToString();
                            string _range = dgv_ERange.Rows[i].Cells[5].Value.ToString();
    
                            // Tạo Datalink
                            Data_Pro.Create_Datalink(_namelink, _file, _sheet, _range);
    
                            // Add thêm tên file nếu chưa có.
                            string _namefile = Path.GetFileNameWithoutExtension(_file);
                            if (!_lst.Contains(_namefile))
                            {
                                cbb_ExcelFile.Items.Add(_namefile);
                                _lst.Add(_namefile);
                            }
    
                        }
                    }
                    //Load lại dữ liệu Datalink
                    for (int i = 0; i < cbb_ExcelFile.Items.Count; i++)
                    {
                        cbb_ExcelFile.SelectedIndex = i;
                    }
                }
                else
                    MessageBox.Show("- Chưa xác định file Excel!", "Thông Báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    
                
            }

  2. #2
    Forum Newbie
    Using
    AutoCAD 2015
    Join Date
    Jan 2016
    Posts
    2

    Default

    Registered forum members do not see this ad.

    Apologize for the omission. This is code for line:
    // Tạo Datalink
    Data_Pro.Create_Datalink(_namelink, _file, _sheet, _range);


    Code:
    public static DataLink Create_Datalink(string _namelink, string _file, string _sheet, string _range)
            {
                acad.Document doc = acad.Application.DocumentManager.MdiActiveDocument;
                Database db = doc.Database;
    
                // Tạo mới đối tượng liên kết DataLink
                DataLink _data = new DataLink();
    
                using (acad.DocumentLock acLck = doc.LockDocument())
                {
                    // Kiểm tra tên liên kết. Nếu đã tồn tại thực hiện xóa liên kết cũ:
                    // Lấy ra tất cả liên kết có trên dữ liệu
                    DataLinkManager mgr = db.DataLinkManager;
                    // Lấy ObjectId của đối tượng liên kết DataLink theo tên
                    ObjectId _id = mgr.GetDataLink(_namelink);
                    // Kiểm tra giá trị nhận được
                    if (_id != ObjectId.Null)
                    {
                        // Nếu khác null có nghĩa đã có liên kết
                        // Thực hiện xóa liên kết cũ
                        mgr.RemoveDataLink(_id);
                    }
    
                    // Khai báo liên kết với Excel
                    _data.DataAdapterId = "AcExcel";
                    // Khai báo tên cho liên kết
                    _data.Name = _namelink;
                    // Khai báo mô tả cho liên kết
                    _data.Description = "";
                    // Kiểm tra tham số vào Range để xác định câu lệnh kết nối
                    // Nếu Range = null sẽ thực hiện liên kết với toàn bộ sheet
                    // Nếu Range khác null sẽ liên kết với phạm vi được khai báo
                    string[] _arr = _file.Split('\\');
                    string _new = ".\\" + _arr[_arr.Length - 2] + "\\" + _arr[_arr.Length - 1];
                    
                    if (_range == null)
                        _data.ConnectionString = _new + "!" + _sheet;
                    else
                        _data.ConnectionString = _new + "!" + _sheet + "!" + _range;
                    // Khai báo kiểu liên kết
                    _data.DataLinkOption = DataLinkOption.PersistCache;
    
                    // Xác định kết nối cho phép thực hiện cập nhật
                    _data.UpdateOption |= (int)UpdateOption.AllowSourceUpdate;
                    
    
                    // Thêm liên kết vào bộ quản lý các liên kết của bản vẽ
                    // Đồng thời ghi nhớ ObjectId của liên kết
                    _id = mgr.AddDataLink(_data);
    
                    using (Transaction tr = db.TransactionManager.StartTransaction())
                    {
                        tr.AddNewlyCreatedDBObject(_data, true);
                        tr.Commit();
                    }
                }
                return _data;
            }

Similar Threads

  1. Replies: 21
    Last Post: 14th Jul 2014, 07:04 am
  2. Importing Excel data and draw lines (Data is "From" "To" ponts of Line or length
    By pvsvprasadcivil in forum AutoLISP, Visual LISP & DCL
    Replies: 8
    Last Post: 28th Dec 2013, 10:37 am
  3. Export properties ("measurement") of "Aligned Dimension" to Excel
    By nhatquyelec in forum AutoLISP, Visual LISP & DCL
    Replies: 8
    Last Post: 1st Feb 2013, 07:58 am
  4. "LINK template" icons "greyed out" -why?
    By Chrisjpritchard in forum AutoCAD Drawing Management & Output
    Replies: 0
    Last Post: 2nd Mar 2007, 10:25 pm

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts