当前位置: 首页 > news >正文

遵义公司做网站/2345网址导航电脑版官网

遵义公司做网站,2345网址导航电脑版官网,wordpress 代替,桂林有帮做公司网站吗扩展字段主要是针对那些有不固定列的表,而且这些列不是系统运行所必须的。当一个系统或产品已经上线后,不需要修改原来的代码就可以满足客户增加字段的需求。例如产品表在用户A里需要用到产地这个字段,在用户B里需要条形码这个字段&#xff0…

扩展字段主要是针对那些有不固定列的表,而且这些列不是系统运行所必须的。当一个系统或产品已经上线后,不需要修改原来的代码就可以满足客户增加字段的需求。
例如产品表在用户A里需要用到产地这个字段,在用户B里需要条形码这个字段,而这两个或更多的字段在原来的系统设计时并没考虑进去,这时就需要扩展字段。

首先需要建一张扩展字段映射表

ContractedBlock.gifExpandedBlockStart.gifView Code
CREATE TABLE [dbo].[ExColumnMapping](
[RowID] [int] IDENTITY(1,1) NOT NULL,
[TableName] [nvarchar](50) NULL,
[ColumnName] [nvarchar](50) NULL,
[MappingName] [nvarchar](50) NULL,
[InputType] [nvarchar](50) NULL,
[Remark] [nvarchar](200) NULL,
[EnableStatus] [int] NULL
CONSTRAINT [PK_ExColumnMapping] PRIMARY KEY CLUSTERED
(
[RowID] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)
ON [PRIMARY]

2条存储过程

ContractedBlock.gifExpandedBlockStart.gifView Code
create PROCEDURE [dbo].[GetNewMappingName]
@TableName nvarchar(50)
AS
BEGIN
SELECT top 1 name
FROM syscolumns
WHERE substring(name,1,3)='Col' and
id
= (SELECT top 1 id
FROM sysobjects
WHERE name = @TableName order by id)
and name not in
(
select MappingName from ExColumnMapping where TableName = @TableName)
END
Create PROCEDURE [dbo].[IsExColExist]
 @TableName nvarchar(50),
 @ColumnName nvarchar(50)
AS
BEGIN
 select * from ExColumnMapping
          where TableName = @TableName
          and ColumnName = @ColumnName
END

同时在产品表增加一些备用列 Col1,Col2,Col3.。。。。。。。。

建一个管理扩展字段表的页面:

ContractedBlock.gifExpandedBlockStart.gifView Code
<table class="innerform">
<tr>
<th width="20%">
数据表:
</th>
<td>
<select id="sltTableName" runat="server" >
<option value="Customer">客户表</option>
</select>
<asp:Label ID="txtTableName" runat="server" ReadOnly="true" MaxLength="20"></asp:Label>
<asp:Label ID="Label1" runat="server" Text="*" ForeColor="Red"></asp:Label>
</td>
</tr>
<tr>
<th>
字段名:
</th>
<td>
<input id="txtColName" type="text" runat="Server" maxlength="20" />
<asp:Label ID="lbCustName" runat="server" Text="*" ForeColor="Red"></asp:Label>
</td>
</tr>
<tr>
<th>
输入类型:
</th>
<td>
<select id="sltInputType" name="D3" runat="Server">
<option value="文本框">文本框</option>
<option value="下拉框">下拉框</option>
<option value="日历">日历</option>
</select>
</td>
<td>
<input type="button" id="btnAddSourceData" onclick="SetSourceData()" value="源数据" />
</td>
<td>
<input type="hidden" runat="server" id="hdSourceData" value="" />
</td>
</tr>
<tr>
<th>
可见状态:
</th>
<td>
<select id="sltEnable" name="D3" runat="Server">
<option value="1">可见</option>
<option value="2">不可见</option>
</select>
</td>
</tr>
<tr>
<th>
备注:
</th>
<td colspan="3">
<textarea id="taRemark" name="S1" rows="5" runat="Server" maxlength="200" ></textarea>
</td>
</tr>
</table>

在产品管理页面加上<div id="divExCol" style="width:100%"  runat = "server"></div>


 

ContractedBlock.gifExpandedBlockStart.gifView Code
/// <summary>
/// 动态生成扩展字段相关控件
/// </summary>
public static void AddExControl(HtmlGenericControl divExCol,List<ExColumnMappingItem> exCols)
{
foreach (ExColumnMappingItem exColItem in exCols)
{
Label lblExCol
= new Label();
lblExCol.Width
= 130;
lblExCol.Style.Add(HtmlTextWriterStyle.TextAlign,
"right");
lblExCol.Text
= exColItem.ColumnName + "";
divExCol.Controls.Add(lblExCol);
switch (exColItem.InputType)
{
case "下拉框":
DropDownList ddlExCol
= new DropDownList();
ddlExCol.ID
= exColItem.MappingName;
ddlExCol.Width
= 300;
ddlExCol.Items.Add(
"");
foreach (string data in exColItem.SourceData.Split(','))
{
ddlExCol.Items.Add(data);
}
divExCol.Controls.Add(ddlExCol);
break;
case "日历":
TextBox txtDateExCol
= new TextBox();
txtDateExCol.ID
= exColItem.MappingName;
txtDateExCol.Width
= 260;
divExCol.Controls.Add(txtDateExCol);
Button btnExCol
= new Button();
btnExCol.Text
="...";
btnExCol.Height
= 21;
btnExCol.Width
= 40;
btnExCol.OnClientClick
= "popUpCalendar(this, " + txtDateExCol.ClientID + ", 'mm/dd/yyyy',-1,-1,true);return false;";
divExCol.Controls.Add(btnExCol);
break;
default:
TextBox txtExCol
= new TextBox();
txtExCol.ID
= exColItem.MappingName;
txtExCol.Width
= 300;
divExCol.Controls.Add(txtExCol);
break;
}

//换行
divExCol.Controls.Add(new LiteralControl("<br>"));
}
divExCol.DataBind();
}
ContractedBlock.gifExpandedBlockStart.gifView Code
/// <summary>
/// 将原有数据绑定到扩展字段控件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <param name="exCols"></param>
/// <param name="divExCol"></param>
public static void BindExColData<T>(T t, List<ExColumnMappingItem> exCols, HtmlGenericControl divExCol)
{
foreach (ExColumnMappingItem exColItem in exCols)
{
object exColValue = t.GetType().GetProperty(exColItem.MappingName).GetValue(t, null);
string oldValue = exColValue == null ? "" : exColValue.ToString();
switch (exColItem.InputType)
{
case "下拉框":
DropDownList ddlExCol
= (DropDownList)divExCol.FindControl(exColItem.MappingName);
ddlExCol.Text
= oldValue;
break;
default:
TextBox txtExCol
= (TextBox)divExCol.FindControl(exColItem.MappingName);
txtExCol.Text
= oldValue;
break;
}
}
}
ContractedBlock.gifExpandedBlockStart.gifView Code
/// <summary>
/// 从文本框获取扩展字段值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <param name="exCols"></param>
/// <param name="divExCol"></param>
public static void GetExColData<T>(T t, List<ExColumnMappingItem> exCols, HtmlGenericControl divExCol)
{
foreach (ExColumnMappingItem exColItem in exCols)
{
switch (exColItem.InputType)
{
case "下拉框":
DropDownList ddlExCol
= (DropDownList)divExCol.FindControl(exColItem.MappingName);
t.GetType().GetProperty(exColItem.MappingName).SetValue(t, ddlExCol.Text,
null);
break;
default:
TextBox txtExCol
= (TextBox)divExCol.FindControl(exColItem.MappingName);
t.GetType().GetProperty(exColItem.MappingName).SetValue(t, txtExCol.Text,
null);
break;
}
}
}

转载于:https://www.cnblogs.com/geass/archive/2011/08/15/2139232.html

http://www.jmfq.cn/news/4936879.html

相关文章:

  • 委托别人做网站_域名所有权/关键词挖掘网站
  • 网站设计平台 动易/百度网站优化公司
  • 网站虚拟空间作用/潍坊seo外包平台
  • 怎么看网站的收录/网络推广的途径有哪些
  • 论坛静态网站源码/网站seo站外优化
  • php 网站开发案例教程/杭州百度
  • 广州公司注册代理/黑帽seo是什么
  • 乐从网站制作/外链是什么
  • 网站建设可实施性报告/如何设计推广方案
  • 机械加工订单平台/青岛官网seo方法
  • 做b2b在哪里找客户/windows系统优化软件排行榜
  • 高端医院网站建设/爱站关键词挖掘查询工具
  • 日本做爰动漫网站/苏州关键词优化seo
  • 网站技术维护费/seo专员是干什么的
  • 网站友链怎么添加/中国免费网站服务器2020
  • 做消费金融网站价格/百度知道一下
  • b站是什么平台/营销网
  • 一个软件app/seo关键词推广公司
  • 天津建设网站哪家好/关键词排名批量查询软件
  • 昆明网站推广排名/重庆seo网页优化
  • 锦兴建筑人才招聘平台/深圳百度首页优化
  • 六安网约车/网站优化招聘
  • seo网站文章编辑软件/培训学校机构
  • 网站开发主流程序/百度网址浏览大全
  • 上海正规网站建设怎么样/外包seo服务口碑好
  • html5和css3网站/网络营销手段有哪四种
  • 网站建设部门/品牌运营岗位职责
  • 网站收录突然减少/我是新手如何做电商
  • 玉环在哪里做网站/最近一周的新闻
  • 快速做网站企业/系统优化大师