首页 > 代码库 > 预览窗体模板
预览窗体模板
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, string>();
dicR = clientR.Search(1, Int32.MaxValue, "RewardStandardStatus=1");
dtItemR = NLISClient.UIBase.Helper.TableHelper.DeserializationTable(dicR["table"]);
Dictionary<string, string> dicP = new Dictionary<string, 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;
panel.Refresh();
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=" + dtItemA.Rows[i]["RewardAndPayID"]);
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;
label_X.TextAlign = ContentAlignment.MiddleCenter;
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 = dtItemA.Rows[i]["RewardAndPayID"].ToString();
label_R.TextAlign = ContentAlignment.MiddleCenter;
label_R.Anchor = ((AnchorStyles)((AnchorStyles.Left | AnchorStyles.Right)));
label_R.AutoSize = true;
label_R.TextAlign = ContentAlignment.MiddleCenter;
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 = false;
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;
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 = false;
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();
dt_R.Rows.Add(dt_R.NewRow());
dgv_R.DataSource = dt_R;
panel.Controls.Add(dgv_R, 3, CurrentRow);
dgv_R.Margin = new Padding(0, 0, 0, 0);
}
#endregion
Label label_P = new Label();
label_P.Text = dtItemA.Rows[i]["PayMoney"].ToString();//索赔定价;
label_P.Tag = dtItemA.Rows[i]["RewardAndPayID"].ToString();
label_P.TextAlign = ContentAlignment.MiddleCenter;
label_P.Anchor = ((AnchorStyles)((AnchorStyles.Left | AnchorStyles.Right)));
label_P.AutoSize = true;
label_P.TextAlign = ContentAlignment.MiddleCenter;
panel.Controls.Add(label_P, 4, CurrentRow);
#region 添加表格 索赔标准
if (level2.Length > 0)
{
DataGridView dgv_P = new DataGridView();
dgv_P.AutoGenerateColumns = false;
dgv_P.Height = 20 * level1.Length;
dgv_P.ScrollBars = ScrollBars.None;
dgv_P.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
dgv_P.AllowUserToResizeColumns = false;
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.Width = 126;
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 = "_PayStandardPercent";
DataTable dt = dtItemP.Clone();
for (int j = 0; j < 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);
}
else
{
DataGridView dgv_P = new DataGridView();
dgv_P.AutoGenerateColumns = false;
dgv_P.Height = 20 * level1.Length;
dgv_P.ScrollBars = ScrollBars.None;
dgv_P.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
dgv_P.AllowUserToResizeColumns = false;
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.Width = 126;
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 = "_PayStandardPercent";
DataTable dt = dtItemP.Clone();
dt.Rows.Add(dt.NewRow());
dgv_P.DataSource = dt;
panel.Controls.Add(dgv_P, 5, CurrentRow);
dgv_P.Margin = new Padding(0, 0, 0, 0);
}
#endregion
}
}
}
private void JSRows()
{
if (dtItemR.Rows.Count > 0)
{
DataTable table = dtItemR;
for (int i = 0; i < dtItemA.Rows.Count; i++)
{
DataRow[] level1 = dtItemR.Select("RewardStandardRewardPriceID=" + dtItemA.Rows[i]["RewardAndPayID"]);
DataRow[] level2 = dtItemP.Select("PayStandardPayPriceID=" + dtItemA.Rows[i]["RewardAndPayID"]);
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);
}
}
}