参拍申请权限
参拍申请管理: 点击审核管理对竞拍人的拍品进行审核如图1
见图1:这是拍卖师对竞拍人所申请的拍品进行权限修改,当打开这个界面时对dgv的某一行拍品打上勾时在上面的缴纳保证金和共计缴纳保证金就会同时显示出来,然后在将是否缴纳保证金打上勾子,在选择通过审核后,就可以修改权限了。
见图2:如果拍卖品交了保证金,那么缴纳保证金就不会显示出来, 共计缴纳保证金是显示dgv里打了勾的拍品的保证金而缴纳保证金显示的是还没交保证金的。
参拍申请管理: 点击审核管理对竞拍人的拍品进行审核代码:
private void BtnXiuGaiQuanXian_Click(object sender,EventArgs e)
{
decimal YaoJiaoNaJingE= 0;
int c = 0;
int a=0;
int b=0;
int d=0;
if(mydgvr.Cells[“State”].Value.ToString()== “尚未审核”)
{
if(TxtGongJiXuYaoJiaoNaBaoZhengJin.Text !="")
{
if(LabYiJiaoBaoZhengJingE.Text =="")
{
LabYiJiaoBaoZhengJingE.Text = “0”;
}
YaoJiaoNaJingE = Convert.ToDecimal(TxtGongJiXuYaoJiaoNaBaoZhengJin.Text)
- Convert.ToDecimal(LabYiJiaoBaoZhengJingE.Text);
if(YaoJiaoNaJingE < Convert.ToDecimal(DgvPaiPingXinXi.Rows[0].Cells[“AvailableBalance”].Value))
{
foreach (DataGridViewRow dgv in DgvPaiPingXinXi.Rows)
{
c++;
if (Convert.ToBoolean(dgv.Cells[“XianZhe”].FormattedValue) == true)
{
a=myJingPaiRenCanPaiShenQingClient.JingPaiRenCanPaiShenQing_XiuGaiZhuangTai(Convert.ToInt32(cboShiFouShengHe.SelectedValue),
Convert.ToInt32(DgvPaiPingXinXi.Rows[c - 1].Cells[“ApplicationFormForBiddingID”].Value));
if (cboShiFouYiJiaoBaoZhengJin.Text == “已交保证金”)
{
b =
myJingPaiRenCanPaiShenQingClient.JingPaiRenCanPaiShenQing_XiuGaiShiFouJiaoNaBaoZhengJing(Convert.ToInt32(DgvPaiPingXinXi.Rows[c
- 1].Cells[“ApplicationFormForBiddingID”].Value),true);
}
} }
d=myJingPaiRenCanPaiShenQingClient.JingPaiRenCanPaiShenQing_JiaoNaWeiJiaoBaoZhengJing(YaoJiaoNaJingE,
AccountNumber);
if(a1 || b1 || d 1)
{
MessageBox.Show(“申请审核成功!”);
TxtGongJiXuYaoJiaoNaBaoZhengJin.Text = “”;
abYiJiaoBaoZhengJingE.Text = “”;
JingPaiRenCanPaiShenQing_Load(null, null);
}
else
{
MessageBox.Show(“申请审核失败!”);
}
}
else
{
MessageBox.Show(“账户余额不足,请通知用户充值!”);
}
}
else
{
MessageBox.Show(“请选择要审核的拍品!”);
}
}
else
{
if(cboShiFouYiJiaoBaoZhengJin.Text == “已交保证金”)
{
myJingPaiRenCanPaiShenQingClient.JingPaiRenCanPaiShenQing_XiuGaiShiFouJiaoNaBaoZhengJing
(Convert.ToInt32(DgvPaiPingXinXi.Rows[0].Cells[“ApplicationFormForBiddingID”].Value),
true);
}
if(cboShiFouYiJiaoBaoZhengJin.Text == “未交交保证金”)
{
myJingPaiRenCanPaiShenQingClient.JingPaiRenCanPaiShenQing_XiuGaiShiFouJiaoNaBaoZhengJing
(Convert.ToInt32(DgvPaiPingXinXi.Rows[0].Cells[“ApplicationFormForBiddingID”].Value),
false);
}
a =
myJingPaiRenCanPaiShenQingClient.JingPaiRenCanPaiShenQing_XiuGaiZhuangTai(Convert.ToInt32(cboShiFouShengHe.SelectedValue),
Convert.ToInt32(DgvPaiPingXinXi.Rows[0].Cells[“ApplicationFormForBiddingID”].Value));
if (a1)
{
MessageBox.Show(“修改成功!”);
}
else
{
MessageBox.Show(“修改失败!”);
}
}
}
正则表达式
正则所需要的命名空间是 using
System.Text.RegularExpressions
它包含了8个类,用得最多是的Regex;
Regex不仅可以用来创建正则表达式,而且提供了许多有用的方法。
创建一个Regex对象
new Regex(string pattern)
new Regex(string pattern,RegexOptions
options)
第一个参数是个字符串 第二个参数正则配置的选项 有以下一些选项
IgnoreCase //是匹配忽略大小写
默认情况区分大小写
RightToLeft //从右到左查找字符串 默认是从左到右
None //不设定标志 这是默认选项,就是不设置第2个参数 表示区分大小写 从左到右
MultiLinc //指定了^和$可以匹配行的开头和结尾,也就是说使用了换行分割,每一行能得到不同的匹配
SingleLine //规定特殊字符".“匹配任一字符,换行符除外. 默认情况下特殊字符”."不匹配换行.(啥意思 都不匹配换行这个参数有啥用 没看懂)
IgnoreCase的例子
string test = "Abcccccc";
Regex reg = new Regex("abc");
Console.WriteLine(reg.IsMatch(test)); //false
Regex reg1 = new Regex(“abc”,RegexOptions.IgnoreCase); //不区分大小写
Console.WriteLine(reg1.IsMatch(test));//true
RightToLeft的例子
string test = "vvv123===456vvv";
Regex reg = new
Regex("\d+");// 123 从左到右 匹配连续数字
Console.WriteLine(reg.Match(test));
Regex reg1 = new Regex("\\d+",RegexOptions.RightToLeft);
Console.WriteLine(reg1.Match(test));//
456 从右到左
匹配连续数字
MultiLinc的例子
StringBuilder input = new StringBuilder();
input.AppendLine("A
bbbb A");
input.AppendLine("C
bbbb C");
string
pattern = @"^\w";
Console.WriteLine(input.ToString());
MatchCollection matchCol =
Regex.Matches(input.ToString(), pattern, RegexOptions.Multiline);
foreach
(Match item in matchCol)
{
Console.WriteLine("结果:{0}",
item.Value);
}
撰写时间:2019年04月18日
Grid网格面板
两行三列的Grid,在每个单元格里面放置一个Button按钮,可以自定义行和列并通过行列的数量、行高列宽来调整控件的布局。近似Html中的table。
使用XAML代码实现:
<Window x:Class=“依赖属性.MainWindow”
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:依赖属性"
mc:Ignorable="d"
Title="MainWindow" Height="350"
Width=“525”
WindowStartupLocation="CenterScreen">
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition
Width=“200”>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0"
Grid.Column=“0” >第一行第一列
<TextBlock Grid.Row="1"
Grid.Column=“0” >第二行第一列
<TextBlock Grid.Row="2"
Grid.Column=“0” >第三行第一列
<Button Grid.Row="0"
Grid.Column=“1”>第一行第二列
<Button Grid.Row="1"
Grid.Column=“1”>第二行第二列
<Button Grid.Row="2"
Grid.Column=“1”>第三行第二列
</Grid>
WrapPanel环绕面板
1、WrapPanel:布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够时就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。
使用XAML代码实现:
<Window x:Class=“WPFLX.HRMB”
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace: WPFLX"
mc:Ignorable="d"
Title="HRMB" Height="410"
Width=“944”
WindowStartupLocation="CenterScreen">
<WrapPanel Margin="3">
<Button VerticalAlignment="Top">ButtonTop</Button>
<Button Width="210"
MinHeight=“100”>按钮
<Button VerticalAlignment="Bottom">ButtonBottom</Button>
<Button Width="210"
MinHeight=“100”>按钮
<Button VerticalAlignment="Center">ButtonCenter</Button>
<Button Width="210"
MinHeight=“100”>按钮
<Button VerticalAlignment="Center">ButtonCenter</Button>
<Button Width="210"
MinHeight=“100”>按钮
2、Orientation——根据内容自动换行。当Orientation属性的值设置为 Horizontal:元素是从左向右排列的,然后自上至下自动换行。当Orientation属性的值设置为Vertical:元素是从上向下排列的,然后从左至右自动换行。使用XAML代码实现
<Window
x:Class=“WpfDemo.MainWindow”
xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml”
Title=“WrapPanel面板”
Height=“237” Width=“525”
WindowStartupLocation=“CenterScreen”>
<Button Width="100">按钮1</Button>
<Button Width="100">按钮2</Button>
<Button Width="100">按钮3</Button>
<Button Width="100">按钮4</Button>
<Button Width="100">按钮5</Button>
<Button Width="100">按钮6</Button>
3、Orientation属性的值设置为Vertical:
使用XAML代码实现
<Window x:Class=“WpfDemo.MainWindow”
xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml”
Title="WrapPanel面板" Height="237"
Width=“525” WindowStartupLocation=“CenterScreen”>
按钮1
按钮2
按钮3
按钮4
按钮5
按钮6