62,268
社区成员
发帖
与我相关
我的任务
分享
private void BindTableData(DataBaseSchema dbs)
{
treeView1.Nodes[0].Nodes.Clear();
DBSchemaProvider sp = DBSchemaProvider.Instance();
IList<TableSchema> list = sp.GetTableSchemaList(dbs);
foreach (TableSchema ts in list)
{
TreeNode _dbNode = new TreeNode();
_dbNode.ImageIndex = 1;
_dbNode.SelectedImageIndex = 1;
_dbNode.ToolTipText = ts.TableName;
_dbNode.Name = _dbNode.Text = ts.TableName;
_dbNode.Tag = ts;
_dbNode.ContextMenuStrip = DataBaseTreeMenu;
ts.ConnectionString = dbs.ConnectionString;
IList<ColumnSchema> columnList = sp.GetColumnSchemaList(ts);
foreach (ColumnSchema cs in columnList)
{
TreeNode _columnNode = new TreeNode();
_columnNode.ImageIndex = 1;
if(cs.IsPrimaryKey)
_columnNode.ImageIndex = 3;
else if(cs.IsForeignKey)
_columnNode.ImageIndex = 0;
_columnNode.SelectedImageIndex = 1;
_columnNode.ToolTipText = cs.ColumnName;
_columnNode.Name = _columnNode.Text = cs.ColumnName;
_columnNode.Tag = cs;
if (!_dbNode.Nodes.ContainsKey(_columnNode.Name))
_dbNode.Nodes.Add(_columnNode);
}
if (!treeView1.Nodes[0].Nodes.ContainsKey(_dbNode.Name))
treeView1.Nodes[0].Nodes.Add(_dbNode);
}
}