日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyGeneration【ui-原】

發(fā)布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyGeneration【ui-原】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

------------------------------------------------------------------------

  1)界面就用軟件本身封裝的

  2)可以選擇當(dāng)前選擇的數(shù)據(jù)庫中的幾個表

  3) 同MyGeneration【ui-winform】做一下對比而已

?-----------------------------------------------------------------------

Interface Code <%#REFERENCE?System.Windows.Forms.dll?%>
<%#NAMESPACE?System.Windows.Forms,?System.Drawing,System,?System.Text,?System.Collections,?Zeus,?Zeus.UserInterface,?Zeus.DotNetScript,?Microsoft.Win32??%>
?
public?class?GeneratedGui?:?DotNetScriptGui
{
????
public?GeneratedGui(?ZeusGuiContext?context?)?:?base(?context?)?{}

????GuiTextBox?classNamespace;
????GuiTextBox?outputPath;
????GuiTextBox?memberPrefix;
????GuiTextBox?connectionString;
????
????
public?override?void?Setup()
????{
????????
if?(?!input.Contains(?"chooseTables"?)?||?!input.Contains(?"txtPath"?)?||
????????????????(?
!input.Contains(?"chkClass"?)?&&?!input.Contains(?"chkNaming"?)?)?)
????????{
????????????ui.Title?
=?"Zhuer's?Generator";
????????????ui.Width?
=?330;
????????????ui.Height?
=?400;
????????????????
????????????
//?選擇數(shù)據(jù)庫Label?
????????????GuiLabel?label5?=?ui.AddLabel(?"label5",?"選擇一個數(shù)據(jù)庫:",?"選擇一個數(shù)據(jù)庫"?);
????????????
????????????
//?選擇數(shù)據(jù)庫下拉列表
????????????GuiComboBox?chooseDatabase?=?ui.AddComboBox(?"chooseDatabase",?"選擇一個數(shù)據(jù)庫"?);
????????????
????????????
//?顯示當(dāng)前選擇的數(shù)據(jù)庫中所包含的表
????????????GuiLabel?label7?=?ui.AddLabel(?"label7",?"選擇表:",?"選擇表"?);
????????????GuiListBox?chooseTables?
=?ui.AddListBox(?"chooseTables",?"選擇表");
????????????chooseTables.Height?
=?200;
????????????
????????????????????????
????????????
//?為選擇數(shù)據(jù)庫的下拉列表創(chuàng)建onchange事件
????????????setupDatabaseDropdown(?chooseDatabase?);
????????????
//?綁定處理方法
????????????chooseDatabase.AttachEvent(?"onchange",?"chooseDatabase_onchange");
????????????
????????????ui.ShowGui?
=?true;
????????}
????????
else?
????????{
????????????ui.ShowGui?
=?false;
????????}
????}
????
????
//選擇數(shù)據(jù)庫
????public?void?setupDatabaseDropdown(?GuiComboBox?Databases?)
????{
????????
try?
????????{????
????????????
if(?MyMeta.IsConnected?)
????????????{
????????????????Databases.BindData(?MyMeta.Databases?);
????????????????
if(?MyMeta.DefaultDatabase?!=?null?)?
????????????????{
????????????????????Databases.SelectedValue?
=?MyMeta.DefaultDatabase.Alias;
????????????????????bindTables(?Databases.SelectedValue?);
????????????????}
????????????}
????????}
????????
catch
????????{
????????}
????}
????
????
//綁定數(shù)據(jù)庫中的表
????public?void?bindTables(?string?sDatabase?)
????{
????????
int?count?=?0;
????
????????GuiListBox?lstTables?
=?ui["chooseTables"]?as?GuiListBox;
????????
????????
try?
????????{????
????????????IDatabase?db?
=?MyMeta.Databases[sDatabase];
????????????lstTables.BindData(?db.Tables?);
????????}
????????
catch
????????{
????????}
????}????
????
????
//選擇數(shù)據(jù)庫引發(fā)的事件
????public?void?chooseDatabase_onchange(?GuiComboBox?control?)
????{
????????
int?count?=?0;

????????GuiComboBox?cmbDatabases?
=?ui["chooseDatabase"]?as?GuiComboBox;
????????bindTables(?cmbDatabases.SelectedText?);
????}?
????
}
Template Code <%
public?class?GeneratedTemplate?:?DotNetScriptTemplate?
{
????
//選中的表
????private?IList?_selectedTables;
????
//數(shù)據(jù)庫名
????private?string?_dbName;
????
//表名
????private?string?_tableName;
????
//類名
????private?string?_className;
????
//輸出路徑
????private?string?_exportPath="C:\\cs";
????
//文件名
????private?string?_fileName;
????
//文件名
????private?string?_nameSpace;
????
public?GeneratedTemplate(ZeusContext?context)?:?base(context)?{}

????
//---------------------------------------------------
????
//?Render()就是Template?Code的入口函數(shù),當(dāng)成Main就好了
????
//---------------------------------------------------
????public?override?void?Render()
????{
????????_dbName?
=?input["chooseDatabase"].ToString();????????//選擇的數(shù)據(jù)庫
????????_selectedTables?=?input["chooseTables"]?as?ArrayList;//選擇的表
????????foreach?(string?_newTable?in?_selectedTables)
????????????{
????????????????ITable?_workingTable?
=?MyMeta.Databases[_dbName].Tables[_newTable];
????????????????_tableName?
=?_workingTable.Alias.Replace("?",?"");
????????????????_className?
=?TableToClassName(_workingTable);
????????????????GenerateModelFile(_workingTable.Columns);
????????????????
????????????}????????????
????????System.Diagnostics.Process.Start(
"explorer.exe",_exportPath);//文件輸出完畢,打開輸出文件夾
????}
????
????
????
//---------------------------------------------------
????
//?循環(huán)某個表中的所有列??每運行一次?則把一個表實體映射到一個cs文件
????
//---------------------------------------------------
????private?void?GenerateModelFile(?IColumns?Columns?)
????????{
????????????_nameSpace
="MyModel";
????????????output.writeln(?
"using?System;"?);
????????????output.writeln(?
""?);
????????????output.writeln(?
"///?<summary>"?);
????????????output.writeln(
"///\tMyGeneration?:?實體類?"?+?_className);
????????????Version();
????????????output.writeln(?
"///?</summary>"?);
????????????output.writeln(?
"namespace?"?+_nameSpace+".Model");
????????????output.writeln(?
"{"?);
????????????output.writeln(?
"\tpublic?class?"+?_className);
????????????output.writeln(?
"\t{"?);
????????????
????????????
//私有成員變量
????????????
//BuildPrivateMembers(?Columns?);
????????????
//BuildDefaultConstructor(?Columns?);
????????????
//BuildPublicProperties(?Columns?);
????????????output.writeln(?"\t}"?);
????????????output.writeln(?
"}"?);
????????????
????????????_fileName?
=?_className?+?".cs";
????????????output.saveEnc(?
"c:\\cs\\"?+?"MOD_"+_fileName?,"o","unicode"?);
????????????output.clear();
????????}
????
????
//?版本信息?【公共小函數(shù)】
???????private?void?Version()
????????{
????????????output.writeln(
"///\t作者:You");
????????????output.writeln(
"///\t我的博客:http://you.cnblogs.com/");
????????????output.writeln(
"///\t版本:1.0");
????????????output.writeln(
"///\tCreated?on?"?+?DateTime.Now);
????????}
????
????
????
//?表轉(zhuǎn)換為類名【公共小函數(shù)】
????protected?string?TableToClassName(ITable?table)
????????{
????????????
string?tableName=table.Alias;
????????????
return?tableName.Replace("?","");
????????}
}
%>


轉(zhuǎn)載于:https://www.cnblogs.com/master-zhu/archive/2010/06/10/1755771.html

總結(jié)

以上是生活随笔為你收集整理的MyGeneration【ui-原】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。