📄 waitdeal_orderform.cs
字号:
if (cmAmend.Position > 0)
{
this.dataGrid1.UnSelect(cmAmend.Position);
cmAmend.Position--;
this.dataGrid1.Select(cmAmend.Position);
this.dataGrid1.CurrentRowIndex = cmAmend.Position;
}
return;
}
if (e.Button.ToolTipText == "下一个记录")
{
if (cmAmend.Position < cmAmend.Count-1)
{
this.dataGrid1.UnSelect(cmAmend.Position);
cmAmend.Position++;
this.dataGrid1.Select(cmAmend.Position);
this.dataGrid1.CurrentRowIndex = cmAmend.Position;
}
return;
}
if (e.Button.ToolTipText == "末记录")
{
this.dataGrid1.UnSelect(cmAmend.Position);
cmAmend.Position = cmAmend.Count-1;
this.dataGrid1.Select(cmAmend.Position);
this.dataGrid1.CurrentRowIndex = cmAmend.Position;
return;
}
}
private void groupBox2_Enter(object sender, System.EventArgs e)
{
}
private void button1_Click_1(object sender, System.EventArgs e)
{
string startverx=this.textBox3.Text.Trim();
string endverx=this.textBox4.Text.Trim();
int start=0;
int end=0;
for(int i=0;i<this.transDataset1.Tables[0].Rows.Count;i++)
{
if(startverx==this.transDataset1.Tables[0].Rows[i][1].ToString().Trim())
{
start=int.Parse(this.transDataset1.Tables[0].Rows[i][0].ToString().Trim());
}
if(endverx==this.transDataset1.Tables[0].Rows[i][1].ToString().Trim())
{
end=int.Parse(this.transDataset1.Tables[0].Rows[i][0].ToString().Trim());
}
}
set_pragh(start,end);
}
private void set_pragh(int startverx,int endverx)
{
int mm=this.transDataset1.Tables[0].Rows.Count;//图的接点数,城市数量
int[,] pragh=new int[mm,mm];//距离矩阵
string fmu;int ff;//起点
string smu;int ss;//终点
string dmu;int dd;//距离
int[] d=new int[mm];//数据结构中的带权长度数组
bool [,] p=new bool[mm,mm];//数据结构中的最短路径存储数组
bool [] final=new bool[mm];//确定是否将某个点加入S集合
int min;
int k=0;
int n=0;
int q=0;
int[] result=new int[50];//存储运算结果的数组
string[] point=new string[50];
//string shortpragh="";
for(int i=0;i<mm;i++) //设置矩阵 初始化
for(int j=0;j<mm;j++)
pragh[i,j]=1000000;
for(int m=0;m<this.transDataset21.Tables[0].Rows.Count;m++)
{
fmu=this.transDataset21.Tables[0].Rows[m][1].ToString().Trim();
ff=int.Parse(fmu);
Console.Write(ff);
smu=this.transDataset21.Tables[0].Rows[m][2].ToString().Trim();
ss=int.Parse(smu);
dmu=this.transDataset21.Tables[0].Rows[m][3].ToString().Trim();
dd=int.Parse(dmu);
if(int.Parse(this.transDataset21.Tables[0].Rows[m][3].ToString().Trim())<1000000)
pragh[ff,ss]=dd;
}
for(int v=0;v<mm;v++)
{
final[v]=false;
d[v]=pragh[startverx,v]; //初始化
for(int w=0;w<mm;w++)
p[v,w]=false; //设空路径
if(d[v]<1000000)
{
p[v,startverx]=true;
p[v,v]=true;
}
}//for
d[startverx]=0;
final[startverx]=true;//v0顶点属于s集
//开始主循环,每次求得v0到某个v顶点的最短路径,并加v到s集
for(int i=1;i<mm;i++)
{
min=1000000;
for(int j=0;j<mm;j++)
if(!final[j])
if(d[j]<min)
{
k=j;
min=d[j];
}
final[k]=true;
for(int j=0;j<mm;j++)
if(!final[j]&&(min+pragh[k,j])<d[j])
{
d[j]=min+pragh[k,j];
for(int m=0;m<mm;m++)
p[j,m]=p[k,m];
p[j,j]=true;
}
}//for
//查找startverx到endverx在pragh中的位置,写入result数组
for(int m=0;m<mm;m++)
{
if(p[endverx,m])
{
result[n]=m;
n=n+1;
}
}
for(int i=0;i<n;i++)
for(int m=0;m<this.transDataset1.Tables[0].Rows.Count;m++)
if(int.Parse(this.transDataset1.Tables[0].Rows[m][0].ToString().Trim())==result[i])
{
point[q]=this.transDataset1.Tables[0].Rows[m][1].ToString().Trim();
q=q+1;
}
for(int j=q-1;j>0;j--)
{
this.textBox7.Text+=point[j]+"--";
}
this.textBox7.Text+=point[0];
for(int j=q-1;j>0;j--)
{
if(point[j]!="")
{
short_pragh1=point[j]+"|"+"0"+",";
}
sp1+=short_pragh1;
}
sp1+=point[0];
for(int j=q-1;j>0;j--)
{
if(point[j]!="")
{
short_pragh2=point[j]+"--";
}
sp2+=short_pragh2;
}
sp2+=point[0];
}
private void button2_Click(object sender, System.EventArgs e)//清空按纽
{
this.textBox7.Text="";
sp1="";
sp2="";
}
private void button3_Click(object sender, System.EventArgs e)//保存路径按纽的事件
{
if(this.textBox7.Text.Trim()=="")
{
MessageBox.Show("未进行路线的设计,无法保存数据!!","提示");
}
else
{
int ddbh=0;
ddbh=int.Parse(this.textBox1.Text.Trim());
bool flog1=false;
bool flog2=false;
string order_num=this.textBox1.Text.Trim();
string sendSQL11="select 订单编号 from short_pragh";
string sendSQL22="select 订单编号 from short_pragh_xs";
temptable1=this.link1.SelectDataBase(sendSQL11);
temptable2=this.link1.SelectDataBase(sendSQL22);
for(int i=0;i<temptable1.Rows.Count;i++)
{
if(order_num==temptable1.Rows[i][0].ToString().Trim())
flog1=true;
}
for(int i=0;i<temptable2.Rows.Count;i++)
{
if(order_num==temptable2.Rows[i][0].ToString().Trim())
flog2=true;
}
if(flog1==false)
{
try
{
string sendvalues="('" + ddbh +"','"+ sp1 +"')";
string strSQL33="insert short_pragh(订单编号,最短路径)values"+sendvalues;
this.link1.UpdateDataBase(strSQL33);
}
catch
{
MessageBox.Show("数据保存失败","提示");
return;
}
}
else
{
MessageBox.Show("最短路径已经存储过了!!","提示");
}
if(flog2==false)
{
try
{
string sendvalues="('" + ddbh +"','"+ sp2 +"')";
string strSQL44="insert short_pragh_xs(订单编号,最短路径)values"+sendvalues;
this.link1.UpdateDataBase(strSQL44);
}
catch
{
MessageBox.Show("数据保存失败","提示");
return;
}
}
else
{
MessageBox.Show("最短路径已经存储过了!!","提示");
}
try
{
string tempPRD="exec PRD_updateddzt '"+ddbh+"'"; //调用修改订单状态的存储过程
this.link1.UpdateDataBase(tempPRD);
}
catch
{
MessageBox.Show("订单状态未改变!","提示");
return;
}
MessageBox.Show("数据保存成功!!订单状态已经修改!!","提示");
}
}
private void sqlDataAdapter1_RowUpdated(object sender, System.Data.SqlClient.SqlRowUpdatedEventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -