如图这是extjs + .net 的
新单代码:
text:"新单",
//默认样式为按下
//pressed:true,
tooltip:"添加新交易单",
iconCls:"addicon",
handler:function(){
Ext.Ajax.request({
url:'DATA/jydbh/GetMaxJydbh.aspx',
success:AddPublishInFn
})}文本框 :
{
columnWidth: .33,
layout: 'form',
items:[
{xtype:'textfield',fieldLabel:'交易单编号',id:'jydbh',value:'',style:'color:red;background:#A4CCEF',readOnly:true}
]
},
比如一个用户登录 用session 记录他的fgsbm (100) 如果已经有0001 就加 1 =
100201008310002我想当单击新单的时候 就往数据库插入一个交易单号 就不会重复了这样可以把问题是 在Ext中 我不会操作 ext 不熟
{
text:"新单",
//默认样式为按下
//pressed:true,
tooltip:"添加新交易单",
iconCls:"addicon",
handler:function(){
Ext.Ajax.request({
url:'DATA/jydbh/GetMaxJydbh.aspx',//用ajax请求获取数据库最大的id+1返回
success: function (reps) {
Ext.getCmp("jydbh").setValue(reps.responseText);//赋值
}
}
}
文本框 :
{
columnWidth: .33,
layout: 'form',
items:[{
xtype:'textfield',
fieldLabel:'交易单编号',
id:'jydbh',
value:'',
style:'color:red;background:#A4CCEF',
readOnly:true
}]
},
注意如果这个操作频繁、并发性大的话,很有可能造成id重复。可以用ext的id生成器帮我们生成id的
alert(Ext.id(null, "id前缀"));
Ext.Ajax.request({
url:'DATA/jydbh/InsertJydbh.aspx',
success:function(response){
AddPublishInFn();
AddPublishForm.getForm().findField("jydbh").setValue(response.responseText);//赋值
}
})插入值
SQLHelper sqlHelp = new SQLHelper();
string result = string.Empty;
string cmd1 = "select max(jydbh) from jydxx where fgsbm='" + Session["companyid"] + "'";
DataSet ds = sqlHelp.GetDataSet(cmd1); if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0][0].ToString()))
{
result = ds.Tables[0].Rows[0][0].ToString();
result = Convert.ToString(Convert.ToInt64(result) + 1);
}
else
{
result = Session["companyid"] + System.DateTime.Now.ToString("yyyyMMdd") + "0001";
}
string cmd2 = "insert into jydxx(jydbh,fgsbm) values('" + result + "','" + Session["companyid"] + "')";
sqlHelp.RunSQL(cmd2); Response.Write(result);
Response.End();