天天看點

預覽窗體模闆

namespace nlisclient.sstform

{

/// <summary>

///

<para>程式名稱:sst模闆預覽窗體</para>

/// <list type="table">

/// <listheader>

<term>作者</term><term>日期</term><term>版本</term><term>更改說明</term>

/// <item>

<term></term><term>2014-03-3</term><term>v1.0</term><term>建立</term>

/// </item>

/// </listheader>

/// </list>

/// </summary>

public partial class rewardstandardpreform :

ejecteditbaseform

wcfrewardandpayservice.rewardandpayserviceclient client = new

wcfrewardandpayservice.rewardandpayserviceclient();

wcfrewardstandardservice.rewardstandardserviceclient clientr = new

wcfrewardstandardservice.rewardstandardserviceclient();

wcfpaystandardservice.paystandardserviceclient clientp = new

wcfpaystandardservice.paystandardserviceclient();

datatable dtitema = null;//定價表(父)

datatable dtitemr =

null;//索酬表(子)

datatable dtitemp = null;//索賠表(子)

int rowp = 0;

int rows = 0;//行數

string levelrow = "";//每一行的所占行數

string strwhere =

"";

public rewardstandardpreform(string id)

initializecomponent();

strwhere = "

rewardandpaypositionid=" + id;

}

private void rewardstandardpreform_load(object sender, eventargs

e)

getdata();

if (dtitema.rows.count

== 0)

panel.visible = false;

panel.refresh();

if (dtitema.rows.count > 0)

jsrows();

init();

panel.horizontalscroll.visible = false;

public void getdata()

dictionary<string, string> dica = new dictionary<string,

string>();

dica = client.search(1, int32.maxvalue,

"rewardandpaystatus=1 and" + strwhere);

datatable _dica =

nlisclient.uibase.helper.tablehelper.deserializationtable(dica["table"]);

dataview dv = _dica.defaultview;

dv.sort =

"positiondepartmentid desc,rewardandpaypositionid desc";

dtitema

= dv.totable();

dictionary<string, string> dicr = new dictionary<string,

dicr = clientr.search(1, int32.maxvalue,

"rewardstandardstatus=1");

dtitemr =

nlisclient.uibase.helper.tablehelper.deserializationtable(dicr["table"]);

dictionary<string, string> dicp = new dictionary<string,

dicp = clientp.search(1, int32.maxvalue,

"paystandardstatus=1");

dtitemp =

nlisclient.uibase.helper.tablehelper.deserializationtable(dicp["table"]);

private void init()

if

(dtitema.rows.count > 0)

datatable table

= dtitemr;

this.panel.controls.clear();

panel.borderstyle = borderstyle.none;

panel.cellborderstyle =

tablelayoutpanelcellborderstyle.single;

this.panel.rowcount = rows;

this.panel.rowstyles.clear();

for (int i = 0; i <

panel.rowcount; i++)

string[]

levelrow = levelrow.split(‘;‘);

this.panel.rowstyles.add(new rowstyle(sizetype.absolute, 23.1f *

convert.toint16(levelrow[i])));

int

currentrow = -1;

for (int i = 0; i < dtitema.rows.count;

i++)

datarow[] level1 =

dtitemr.select("rewardstandardrewardpriceid=" +

dtitema.rows[i]["rewardandpayid"]);

datarow[] level2 =

dtitemp.select("paystandardpaypriceid=" +

currentrow++;

label label_x = new label();

label_x.text = (currentrow + 1).tostring();//序号列

label_x.tag =

dtitema.rows[i]["rewardandpayid"].tostring();

label_x.textalign = contentalignment.middlecenter;

label_x.anchor = ((anchorstyles)((anchorstyles.left | anchorstyles.right)));

label_x.autosize = true;

panel.controls.add(label_x, 0, currentrow);

label label = new label();

label.text = dtitema.rows[i]["rewardandpayitem"].tostring();//服務項目;

label.tag

= dtitema.rows[i]["rewardandpayid"].tostring();

label.textalign = contentalignment.middlecenter;

label.anchor = ((anchorstyles)((anchorstyles.left | anchorstyles.right)));

label.autosize = true;

label.textalign =

contentalignment.middlecenter;

panel.controls.add(label,

1, currentrow);

label label_r = new label();

label_r.text = dtitema.rows[i]["rewardmoney"].tostring();//索酬定價;

label_r.tag

label_r.textalign = contentalignment.middlecenter;

label_r.anchor = ((anchorstyles)((anchorstyles.left | anchorstyles.right)));

label_r.autosize = true;

panel.controls.add(label_r, 2, currentrow);

#region 添加表格 索酬标準

if (level1.length > 0)

datagridview dgv_r = new

datagridview();

dgv_r.autogeneratecolumns =

false;

dgv_r.height = 20 * level1.length;

dgv_r.scrollbars = scrollbars.none;

dgv_r.anchor = anchorstyles.top | anchorstyles.left | anchorstyles.bottom |

anchorstyles.right;

dgv_r.allowusertoresizecolumns =

dgv_r.allowusertoresizerows = false;

dgv_r.allowusertoaddrows = false;

dgv_r.allowusertodeleterows = false;

dgv_r.backgroundcolor = color.white;

dgv_r.columnheadersvisible = false;

dgv_r.rowsdefaultcellstyle.selectionbackcolor = color.aliceblue;

dgv_r.rowsdefaultcellstyle.selectionforecolor = color.black;

dgv_r.rowheadersvisible = false;

dgv_r.borderstyle = borderstyle.none;

datagridviewtextboxcolumn dc1 = new

datagridviewtextboxcolumn();//标準

dc1.name = dgv_r.name +

"_rewardstandarditem";

dc1.readonly = true;

dc1.width = 200;

dgv_r.columns.add(dc1);

datagridviewtextboxcolumn dc2 = new

datagridviewtextboxcolumn();//百分比

dc2.name = dgv_r.name +

"_rewardstandardpercent";

//dc2.width = 126;

dc2.autosizemode = datagridviewautosizecolumnmode.fill;

dgv_r.columns.add(dc2);

dgv_r.columns[dgv_r.name +

"_rewardstandarditem"].datapropertyname = "rewardstandarditem";

dgv_r.columns[dgv_r.name + "_rewardstandardpercent"].datapropertyname

= "_rewardstandardpercent";

datatable dt_r =

dtitemr.clone();

for (int j = 0; j <

level1.length; j++)

dt_r.rows.add(level1[j].itemarray);

dgv_r.datasource = dt_r;

panel.controls.add(dgv_r, 3, currentrow);

dgv_r.margin = new padding(0, 0, 0, 0);

else

datagridview

dgv_r = new datagridview();

dgv_r.autogeneratecolumns

= false;

dt_r.rows.add(dt_r.newrow());

#endregion

label label_p = new label();

label_p.text = dtitema.rows[i]["paymoney"].tostring();//索賠定價;

label_p.tag =

label_p.textalign = contentalignment.middlecenter;

label_p.anchor = ((anchorstyles)((anchorstyles.left | anchorstyles.right)));

label_p.autosize = true;

panel.controls.add(label_p, 4, currentrow);

#region 添加表格 索賠标準

if (level2.length > 0)

datagridview dgv_p = new

dgv_p.autogeneratecolumns =

dgv_p.height = 20 * level1.length;

dgv_p.scrollbars = scrollbars.none;

dgv_p.anchor = anchorstyles.top | anchorstyles.left | anchorstyles.bottom |

dgv_p.allowusertoresizecolumns =

dgv_p.allowusertoresizerows = false;

dgv_p.allowusertoaddrows = false;

dgv_p.allowusertodeleterows = false;

dgv_p.backgroundcolor = color.white;

dgv_p.columnheadersvisible = false;

dgv_p.rowsdefaultcellstyle.selectionbackcolor = color.aliceblue;

dgv_p.rowsdefaultcellstyle.selectionforecolor = color.black;

dgv_p.rowheadersvisible = false;

dgv_p.borderstyle = borderstyle.none;

datagridviewtextboxcolumn dc1_p = new

datagridviewtextboxcolumn();//項目

dc1_p.name = dgv_p.name +

"_paystandarditem";

dc1_p.readonly = true;

dc1_p.width = 201;

dgv_p.columns.add(dc1_p);

datagridviewtextboxcolumn dc2_p = new

datagridviewtextboxcolumn();//預算

dc2_p.name = dgv_p.name +

"_paystandardpercent";

dc2_p.autosizemode = datagridviewautosizecolumnmode.fill;

dgv_p.columns.add(dc2_p);

dgv_p.columns[dgv_p.name +

"_paystandarditem"].datapropertyname = "paystandarditem";

dgv_p.columns[dgv_p.name + "_paystandardpercent"].datapropertyname =

datatable dt =

dtitemp.clone();

level2.length; j++)

dt.rows.add(level2[j].itemarray);

dgv_p.datasource = dt;

panel.controls.add(dgv_p, 5, currentrow);

dgv_p.margin = new padding(0, 0, 0, 0);

dgv_p = new datagridview();

dgv_p.autogeneratecolumns

dt.rows.add(dt.newrow());

private void jsrows()

(dtitemr.rows.count > 0)

for (int i = 0; i < dtitema.rows.count; i++)

int row = 0;

if (level1.length > 0 || level2.length > 0)

row = (level1.length > level2.length ?

level1.length : level2.length);

levelrow = levelrow + (row == 0 ? 1 : row) + ";";

rows++;

private void dgv_cellvaluechanged(object sender,

datagridviewcelleventargs e)

datagridview dgv =

sender as datagridview;

messagebox.show(dgv.name);

繼續閱讀