为“修改”设置“更多选项”
你好我正在尝试使用修改Autocad中Datalink的选项。净额
如何调整如图所示。
这是我的代码:
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);
}
if (dgv_ERange.RowCount != 0)
{
for (int i = 0; i < dgv_ERange.RowCount; i++)
{
if (dgv_ERange.Rows.Cells.Value != null && Boolean.Parse(dgv_ERange.Rows.Cells.Value.ToString()))
{
string _namelink = dgv_ERange.Rows.Cells.Value.ToString();
string _file = dgv_ERange.Rows.Cells.Value.ToString();
string _sheet = dgv_ERange.Rows.Cells.Value.ToString();
string _range = dgv_ERange.Rows.Cells.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);
} 为疏忽道歉。这是行的代码:
//Tạo数据链路
Data_Pro。创建数据链路(\u namelink、\u file、\u sheet、\u range);
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;
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;
}
页:
[1]