/// <summary> /// 从缓存中删除字段列表。 /// </summary> /// <param name="tableName"></param> /// <returns></returns> private bool RemoveFieldsAndOptionFromMemory(string tableName) { if (string.IsNullOrEmpty(tableName)) { return(false); } //_tableName = tableName; //TableInfo info1 = _tablelist.Find(X => X.Name == _tableName); //if (info1 != null) //{ // _tablelist.Remove(info1); //} SAPTableInfo info = _rfcTableList.Find(x => x.name == tableName); if (info != null) { _rfcTableList.Remove(info); return(true); } else { return(false); } }
/// <summary> /// 从缓存中删除字段列表。 /// </summary> /// <param name="tableName"></param> /// <returns></returns> private bool RemoveFieldsFromCache(string tableName = null) { if (string.IsNullOrEmpty(tableName)) { tableName = this.m_TableName; } if (string.IsNullOrEmpty(tableName)) { return(false); } SAPTableInfo info = m_RfcTableList.Find(x => x.name == tableName); if (info != null) { m_RfcTableList.Remove(info); this.toolStripStatusLabel1.Text = tableName + "删除成功"; return(true); } else { this.toolStripStatusLabel1.Text = tableName + "删除失败"; return(false); } }
//保存当前的字段与条件到内存中。 private bool SaveFieldsToCache(string pTableName = null, DataTable pDt = null) { if (string.IsNullOrEmpty(pTableName)) { this.m_TableName = this.txtTableName.Text.Trim(); pTableName = this.m_TableName; } if (string.IsNullOrEmpty(pTableName)) { MessageBox.Show("表名不能为空"); return(false); } if (pDt == null) { pDt = this.dataGridView1.DataSource as DataTable; } if (pDt == null) { toolStripStatusLabel1.Text = "DataTable 为空值"; return(false); } SAPTableInfo info2 = m_RfcTableList.Find(x => x.name == pTableName); if (info2 != null) { m_RfcTableList.Remove(info2); } var _rfctable = new SAPTableInfo(); _rfctable.Fields = pDt.ToList <TableField>() as List <TableField>; //_rfctable.TransformDataType(); _rfctable.name = pTableName; m_RfcTableList.Add(_rfctable); int pos = 1; foreach (var item in m_RfcTableList) { foreach (var field in item.Fields) { field.POSITION2 = string.Empty; if (field.Selected) { field.POSITION2 = pos.ToString().PadLeft(4, '0'); pos++; } } } if (!this.listBox1.Items.Contains(pTableName)) { this.listBox1.Items.Add(pTableName); } this.toolStripStatusLabel1.Text = pTableName + "保存成功"; return(true); }
private void GetTableInfo(String pTableName) { m_FieldsDt = SAPTableInfo.GetTableDefinitionDt(m_SystemName, pTableName, pTableName); foreach (DataRow item in m_FieldsDt.Rows) { item[0] = true; } SaveFieldsToCache(pTableName, m_FieldsDt); }
//保存当前的字段与条件到内存中。 bool SaveFieldsAndOptiontoMemory(string TableName) { // dt.Fields.Cast<ReadTableField>().ToList().ForEach(I=> info.Fields.Add(I)); //在当前激活的工作表上存放数据 if (string.IsNullOrEmpty(TableName)) { return(false); } //TableInfo info = new TableInfo(); //info.Name = _tableName; //foreach (DataGridViewRow item in this.dataGridView1.Rows) //{ // if (item.Cells["FieldName"].Value != null) // { // info.Fields.Add(new ReadTableField // { // FieldName = item.Cells["FieldName"].Value == null ? "" : item.Cells["FieldName"].Value.ToString(), // FieldText = item.Cells["FieldText"].Value == null ? "" : item.Cells["FieldText"].Value.ToString(), // CheckTable = item.Cells["CheckTable"].Value == null ? "" : item.Cells["CheckTable"].Value.ToString(), // Active = item.Cells["Select"].Value == null ? false : (bool)item.Cells["Select"].Value // }); // } //} ////dt.Options.Cast<string>().ToList().ForEach(I => info.Options.Add(I)); //TableInfo info1 = _tablelist.Find(X => X.Name == _tableName); //if (info1 != null) //{ // _tablelist.Remove(info1); //} //_tablelist.Add(info); SAPTableInfo info2 = _rfcTableList.Find(x => x.name == TableName); if (info2 != null) { _rfcTableList.Remove(info2); } _rfctable.Fields = fieldsDt.ToList <TableField>() as List <TableField>; // _rfctable.Fields.Sort(new PositionComparer()); _rfctable.name = TableName; _rfcTableList.Add(_rfctable); return(true); }
private bool LoadFieldsFromCache(string pTableName) { this.dataGridView1.DataSource = null; var info = new SAPTableInfo(); info = m_RfcTableList.Find(x => x.name == pTableName); if (info != null) { this.dataGridView1.DataSource = info.Fields.ToDataTable <TableField>(); UpdateDgvDisplay(); this.txtTableName.Text = pTableName; return(true); } else { return(false); } }
/// <summary> /// 从SAP系统中加载表的定义信息。 /// </summary> private void GetTableDefinition() { if (!check()) { return; } try { //_rfctable = new RFCTableInfo(); fieldsDt = SAPTableInfo.GetTableDefinitionDt(_systemName, _tableName); this.dataGridView1.DataSource = fieldsDt; // _rfctable.GetTableDefinition(_systemName, _tableName); // _rfctable.TransformDataType(); //_rfctable.Fields.ForEach(row => //{ // row.FIELDNAME = row.FIELDNAME.Replace("/", "_"); //}); // fieldList = SAPINT.RFCTable.RFCTable.GetTableDefinition(cbxSystemList.Text,textBoxTableName.Text); if (fieldsDt != null) { if (fieldsDt.Rows.Count > 0) { MessageBox.Show("读取成功"); } else { MessageBox.Show("无可用字段"); } } else { MessageBox.Show("无法读取表信息"); } } catch (Exception exception) { MessageBox.Show(exception.Message); } }
/// <summary> /// 从SAP系统中加载表的定义信息。 /// </summary> private bool GetTableDefinition() { if (!check()) { return(false); } try { this.dataGridView1.DataSource = null; // var _rfctable = new RFCTableInfo(); m_FieldsDt = SAPTableInfo.GetTableDefinitionDt(m_SystemName, m_TableName, m_TypeName); this.dataGridView1.DataSource = m_FieldsDt; this.Text = "表:" + m_TableName; if (m_FieldsDt != null) { if (m_FieldsDt.Rows.Count > 0) { this.toolStripStatusLabel1.Text = string.Format("{0} 读取成功", m_TableName); return(true); } else { this.toolStripStatusLabel1.Text = string.Format("{0} 无可用", m_TableName); return(false); } } else { MessageBox.Show("无法读取表信息"); return(false); } } catch (Exception exception) { MessageBox.Show(exception.Message); } return(false); }
bool loadFieldsAndOptionFromMemory(string tableName) { //_tableName = tableName; //tableName = tableName.ToUpper(); ////按照表名加载字段列表与条件列表 //TableInfo info = _tablelist.Find(x => x.Name == tableName); //if (info != null) //{ // this.dataGridView1.Rows.Clear(); // foreach (SAPINT.Utils.ReadTableField item in info.Fields) // { // this.dataGridView1.Rows.Add(item.Active, item.FieldName, item.FieldText, item.CheckTable); // } // return true; //} //else //{ // return false; //} this.dataGridView1.DataSource = null; SAPTableInfo info = _rfcTableList.Find(x => x.name == tableName); if (info != null) { // IList<TableField> list = info.Fields as IList<TableField>; this.dataGridView1.DataSource = info.Fields.ToDataTable <TableField>(); updateDgvDisplay(); return(true); } else { return(false); } }
public static FunctionMetaAsDataTable GetFuncMetaAsDataTable(string sysName, String funame) { FunctionMetaAsDataTable metaTable = null; List <CParams> parameters = getFunctionDef(sysName, funame); metaTable = new FunctionMetaAsDataTable(); if (Is_rfc == true) { metaTable = GetRfcFuncMetaAsDataTable(sysName, funame); metaTable.Is_RFC = Is_rfc; return(metaTable); } metaTable.Is_RFC = Is_rfc; DataTable dtImport = FunctionMetaAsDataTable.ParameterDefinitionView(); DataTable dtExport = dtImport.Copy(); DataTable dtChanging = dtImport.Copy(); DataTable dtTables = dtImport.Copy(); for (int i = 0; i < parameters.Count; i++) { var item = parameters[i]; switch (item.paramclass) { case "I": AddMetadataToTable2(ref item, ref dtImport); break; case "E": AddMetadataToTable2(ref item, ref dtExport); break; case "T": AddMetadataToTable2(ref item, ref dtTables); break; case "C": AddMetadataToTable2(ref item, ref dtChanging); break; case "X": //AddMetadataToTable2(ref item, ref ); break; default: break; } if (item.paramclass == "T") { if (!metaTable.StructureDetail.Keys.Contains(item.tabname)) { //在这里创建结构体的定义表格 DataTable dtStructure = FunctionMetaAsDataTable.StructDefinitionView(); var tableInfo = new SAPTableInfo(sysName, item.tabname); var fields = tableInfo.Fields; foreach (var field in fields) { DataRow dr = dtStructure.NewRow(); dr["Name"] = field.FIELDNAME; dr["DataType"] = field.DOMNAME; dr["Decimals"] = field.DECIMALS; dr["Length"] = field.OUTPUTLEN; dr["Documentation"] = field.SCRTEXT_L; dtStructure.Rows.Add(dr); } metaTable.StructureDetail.Add(item.tabname, dtStructure); } } } metaTable.Import = dtImport; metaTable.Export = dtExport; metaTable.Changing = dtChanging; metaTable.Tables = dtTables; return(metaTable); }