|
|
|
@ -126,24 +126,30 @@ namespace formula_manage.Windows |
|
|
|
System.Windows.MessageBox.Show("模板不能为空"); |
|
|
|
return; |
|
|
|
} |
|
|
|
var data = this.CreateBillData(); |
|
|
|
if (!data.Item1) |
|
|
|
{ |
|
|
|
System.Windows.MessageBox.Show("模拟数据生成错误"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
var tuple = PrintHelper.Design(Print_path.Text, data.Item2, data.Item3); |
|
|
|
|
|
|
|
var tuple = PrintHelper.Design(Print_path.Text); |
|
|
|
if (!tuple.Item1) |
|
|
|
{ |
|
|
|
System.Windows.MessageBox.Show($"打开设计器失败:{tuple.Item2}"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void Button_Click_12(object sender, RoutedEventArgs e) //编辑模板
|
|
|
|
{ |
|
|
|
if (string.IsNullOrEmpty(Print_path2.Text)) |
|
|
|
{ |
|
|
|
System.Windows.MessageBox.Show("模板不能为空"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var tuple = PrintHelper.Design(Print_path2.Text); |
|
|
|
if (!tuple.Item1) |
|
|
|
{ |
|
|
|
System.Windows.MessageBox.Show($"打开设计器失败:{tuple.Item2}"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void Button_Click_2(object sender, RoutedEventArgs e) //预览模板
|
|
|
|
{ |
|
|
|
|
|
|
|
@ -153,36 +159,6 @@ namespace formula_manage.Windows |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private Tuple<bool, Dictionary<string, object>, DataSet> CreateBillData() |
|
|
|
{ |
|
|
|
//注意事项
|
|
|
|
//小票动态数据会变化,小票的长度也会动态改变
|
|
|
|
//这里主要演示下 动态数据源 为了动态拉伸,除了传入数据源,在模板上面code部分需要加代码
|
|
|
|
Dictionary<string, object> dic = new Dictionary<string, object>(); |
|
|
|
dic.Add("billNo", "2018111100002222"); |
|
|
|
dic.Add("optorName", "管理员"); |
|
|
|
|
|
|
|
//组装dataset数据源
|
|
|
|
DataTable dtDetail = new DataTable("dtDetail"); |
|
|
|
dtDetail.Columns.Add("GOODSCODE"); |
|
|
|
dtDetail.Columns.Add("GOODSNAME"); |
|
|
|
dtDetail.Columns.Add("GOODSPRICE"); |
|
|
|
dtDetail.Columns.Add("GOODSCOUNT"); |
|
|
|
dtDetail.Columns.Add("PAYSUM"); |
|
|
|
|
|
|
|
//加10种商品
|
|
|
|
for (int i = 1; i <= 10; i++) |
|
|
|
{ |
|
|
|
dtDetail.Rows.Add("10000" + 1, "测试商品" + i, 10.00m, 5, 50.00m); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
DataSet dsFrx = new DataSet(); |
|
|
|
dsFrx.Tables.Add(dtDetail); |
|
|
|
|
|
|
|
return new Tuple<bool, Dictionary<string, object>, DataSet>(true, dic, dsFrx); |
|
|
|
} |
|
|
|
|
|
|
|
private void Print_Checked(object sender, RoutedEventArgs e) //打印机是否生效
|
|
|
|
{ |
|
|
|
Printer = TEXT_Print.IsChecked.GetValueOrDefault(); //打印机是否生效
|
|
|
|
|