1. 程式人生 > >C#行列轉換

C#行列轉換

hour 行列轉換 reat str ret cnblogs pan edit pos

public partial class Frm_DianjianRecord : Frm_Base
{
public Frm_DianjianRecord()
{
InitializeComponent();
}

/// <summary>
/// 列表列信息
/// </summary>
IList<ColClass> collist = new List<ColClass>();

/// <summary>
/// 初期化加載
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Frm_DianjianRecord_Load(object sender, EventArgs e) { #region 頁面初始化 //tool工具欄加背景圖 toolStrip_btn.BackgroundImage = RFIDMg.Properties.Resources.tooldown; this.panel_cx.BackgroundImage = null; //配置時間控件,默認為當天日期 this.dtpWorkDateFrom.Format = DateTimePickerFormat.Custom; this.dtpWorkDateFrom.Text = DateTime.Now.ToString("
yyyy-MM-dd"); this.dtpWorkDateTo.Format = DateTimePickerFormat.Custom; this.dtpWorkDateTo.Text = DateTime.Now.ToString("yyyy-MM-dd"); //綁定下拉菜單 pubCombox.SetComboBoxByTable<T_Base_LineInfo>(cboLineCode, "T_Base_Line", "lineName", "lineCode", "所有");//綁定線體 pubCombox.SetComboBoxByTable<T_Base_BanciInfo>(cboBanciCode, "
T_Base_Banci", "banciName", "banciCode", "所有");//綁定崗位 //初始化gird //InitGrid(); //加載數據 //GetData(); #endregion } /// <summary> /// 初始化gird /// </summary> public void InitGrid() { collist.Clear(); this.table_data.BeginUpdate(); #region 創建列標題 this.table_data.ColumnModel.Columns.Clear(); //第一列隱藏是自動增長列,便於修改/刪除 pubtable.ColAddNew(table_data, collist, "txt", "key", "fkey", 50, false); pubtable.ColAddNew(table_data, collist, "txt", "序號", "xuhao", 50, true); pubtable.ColAddNew(table_data, collist, "txt", "工作日期", "workDate", 90, true); pubtable.ColAddNew(table_data, collist, "txt", "線體", "lineName", 100, true); pubtable.ColAddNew(table_data, collist, "txt", "站點", "zhandianName", 100, true); pubtable.ColAddNew(table_data, collist, "txt", "崗位", "gangweiName", 100, true); pubtable.ColAddNew(table_data, collist, "txt", "班次", "banciName", 100, true); pubtable.ColAddNew(table_data, collist, "txt", "班組", "banzuName", 100, true); pubtable.ColAddNew(table_data, collist, "txt", "點檢順序", "dianjianOrderNo", 70, true); pubtable.ColAddNew(table_data, collist, "txt", "點檢標準", "dianjianStr", 70, true); //循環加載動態列 IList list = null; T_TQM_DianjianRecordInfoImp imp = new T_TQM_DianjianRecordInfoImp(); //根據條件查詢 string lineCode = this.cboLineCode.SelectedValue.ToString(); string zhandianCode = this.lblZhandianCode.Text; string gangweiCode = this.lblGangweiCode.Text; string banciCode = this.cboBanciCode.SelectedValue.ToString(); string workDateFrom = this.dtpWorkDateFrom.Text; string workDateTo = this.dtpWorkDateTo.Text; if (lineCode == "所有") { lineCode = ""; } if (banciCode == "所有") { banciCode = ""; } /*重點看*/ list = (IList)imp.GetListBysearchHour(lineCode, zhandianCode, gangweiCode, banciCode, workDateFrom, workDateTo); foreach (T_TQM_DianjianRecordInfo info in list) { string fieldHour = "FABC"+info.DjTime; pubtable.ColAddNew(table_data, collist, "txt", info.DjTime, fieldHour, 50, true); pubtable.ColAddNew(table_data, collist, "txt", "點檢時間", fieldHour + "Time", 140, true); pubtable.ColAddNew(table_data, collist, "txt", "點檢人", fieldHour + "User", 60, true); } #endregion //設置屬性 pubtable.TableInit(this.table_data); this.table_data.EndUpdate(); } /// <summary> /// 加載數據 /// </summary> public void GetData() { #region 根據查詢條件獲取數據 InitGrid(); IList list = null; T_TQM_DianjianRecordInfoImp imp = new T_TQM_DianjianRecordInfoImp(); //根據條件查詢 string lineCode = this.cboLineCode.SelectedValue.ToString(); string zhandianCode = this.lblZhandianCode.Text; string gangweiCode = this.lblGangweiCode.Text; string banciCode = this.cboBanciCode.SelectedValue.ToString(); string workDateFrom = this.dtpWorkDateFrom.Text; string workDateTo = this.dtpWorkDateTo.Text; if (lineCode == "所有") { lineCode = ""; } if (banciCode == "所有") { banciCode = ""; } list = (IList)imp.GetListBysearch(lineCode,zhandianCode,gangweiCode,banciCode,workDateFrom, workDateTo); //數據加載到xptable中 LoadData(list); //行數 toolStripStatusLabelcount.Text = " 記錄數:" + list.Count.ToString(); this.table_data.TableModel.Selections.Clear(); #endregion } /// <summary> /// 數據加載到xptable中 /// </summary> /// <param name="list">數據鏈表</param> public void LoadData(IList list)//重點看怎麽加載數據 { this.table_data.BeginUpdate(); this.table_data.TableModel.Rows.Clear(); int i = 1; //定義特殊單元格的樣式 CellStyle cellStyle = new CellStyle(); cellStyle.ForeColor = Color.Red; cellStyle.Font = new Font("宋體", 9, FontStyle.Bold); string fkey = ""; //循環數據集進行加載數據 foreach (T_TQM_DianjianRecordInfo info in list) { if (fkey != info.fkey) { //新增一行 fkey = info.fkey; #region 動態加載每列數據 Type type = info.GetType(); Row row = new Row(); foreach (ColClass colinfo in collist) { Cell cellnew = new Cell(); if (colinfo.fcolstyle == "btn") { //按鈕直接取ffield變量 不是從數據庫讀取 cellnew.Text = colinfo.ffield; cellnew.ForeColor = ColorTranslator.FromHtml("#0052b3"); } else { if (colinfo.ffield == "xuhao") { //序號為前臺生成的 cellnew.Text = i.ToString(); cellnew.ForeColor = ColorTranslator.FromHtml("#0052b3"); } else if (colinfo.ffield == "check") { //選擇框前臺 默認 否 cellnew.Checked = false; cellnew.ForeColor = Color.Red; } else { //數據庫字段 if (colinfo.ffield.Substring(0, 4) =="FABC") { cellnew.Text = ""; } else { string fvalue = type.GetProperty(colinfo.ffield).GetValue(info, null).ToString(); cellnew.Text = fvalue; //cell 顏色控制 if (fvalue == "不合格") { cellnew.CellStyle = cellStyle; } } } } row.Cells.Add(cellnew); } this.table_data.TableModel.Rows.Add(row); //修改動態列的值 string fieldHour = "FABC" + info.DjTime; int idIndex = pubtable.ColIndex(collist, fieldHour); this.table_data.TableModel.Rows[i-1].Cells[idIndex].Text = info.dianjianResult; if (info.dianjianResult == "不合格") { table_data.TableModel.Rows[i - 1].Cells[idIndex].CellStyle = cellStyle; } this.table_data.TableModel.Rows[i - 1].Cells[idIndex + 1].Text = info.createDate; this.table_data.TableModel.Rows[i-1].Cells[idIndex+2].Text = info.dianjianUserName; i = i + 1; #endregion } else { //修改一行 string fieldHour = "FABC" + info.DjTime; int idIndex = pubtable.ColIndex(collist, fieldHour); this.table_data.TableModel.Rows[i-2].Cells[idIndex].Text = info.dianjianResult; if (info.dianjianResult == "不合格") { table_data.TableModel.Rows[i - 2].Cells[idIndex].CellStyle = cellStyle; } this.table_data.TableModel.Rows[i-2].Cells[idIndex+1].Text = info.createDate; this.table_data.TableModel.Rows[i-2].Cells[idIndex+2].Text = info.dianjianUserName; } } this.table_data.EndUpdate(); } /// <summary> /// 查詢信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsbtnSearch_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(dtpWorkDateTo.Text.Trim()) && !string.IsNullOrEmpty(dtpWorkDateFrom.Text.Trim())) { if (dtpWorkDateTo.Value < dtpWorkDateFrom.Value) { pubfunction.ShowError("開始時刻不能大於結束時刻!"); return; } } //數據查詢 GetData(); } /// <summary> /// 導出excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsbtnExportExcel_Click(object sender, EventArgs e) { //導出excel //判斷當前是否有數據信息 if (this.table_data.TableModel.Rows.Count <= 0) { pubfunction.ShowError("沒有數據信息!"); return; } pubexcel.XlsOutExcel(table_data, this.Text); } /// <summary> /// 關閉頁面 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsbtnExit_Click(object sender, EventArgs e) { this.Close(); } /// <summary> /// 設置時間控件的格式 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DateTimePicker_ValueChanged(object sender, EventArgs e) { DateTimePicker dtp = (DateTimePicker)sender; dtp.Format = DateTimePickerFormat.Custom; dtp.CustomFormat = "yyyy-MM-dd"; } /// <summary> /// 選擇站點 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnZhanDian_Click(object sender, EventArgs e) { Frm_ComZhandianList formedit = new Frm_ComZhandianList(); string lineCode = ""; if (this.cboLineCode.SelectedValue == null) { lineCode = ""; } else { lineCode = this.cboLineCode.SelectedValue.ToString(); } string lineName = this.cboLineCode.Text; formedit.f_lineCode= lineCode; formedit.f_lineName = lineName; formedit.StartPosition = FormStartPosition.CenterScreen; formedit.ShowInTaskbar = false; formedit.ShowDialog(); if (formedit.DialogResult == DialogResult.OK) { txtZhandianName.Text = formedit.f_zhandianName; lblZhandianCode.Text = formedit.f_zhandianCode; } formedit.Close(); formedit.Dispose(); } /// <summary> /// 選擇崗位 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnGangwei_Click(object sender, EventArgs e) { #region Frm_ComGangweiList formedit = new Frm_ComGangweiList(); string zhandianCode = ""; if (this.lblZhandianCode.Text == null||this.lblZhandianCode.Text =="") { zhandianCode = ""; } else { zhandianCode = this.lblZhandianCode.Text; } string zhandianName = this.txtZhandianName.Text; formedit.f_zhandianCode = zhandianCode; formedit.f_zhandianName = zhandianName; string lineCode = ""; if (this.cboLineCode.SelectedValue == null) { lineCode = ""; } else { lineCode = this.cboLineCode.SelectedValue.ToString(); } string lineName = this.cboLineCode.Text; string banciCode = ""; if (this.cboBanciCode.SelectedValue == null) { banciCode = ""; } else { banciCode = this.cboBanciCode.SelectedValue.ToString(); } string banciName = this.cboBanciCode.Text; formedit.lineCode = lineCode; formedit.lineName = lineName; formedit.StartPosition = FormStartPosition.CenterScreen; formedit.ShowInTaskbar = false; formedit.ShowDialog(); if (formedit.DialogResult == DialogResult.OK) { txtGangWeiName.Text = formedit.f_gangweiName; lblGangweiCode.Text = formedit.f_gangweiCode; } formedit.Close(); formedit.Dispose(); #endregion } private void cboLineCode_TextChanged(object sender, EventArgs e) { txtZhandianName.Clear(); txtGangWeiName.Clear(); lblZhandianCode.Text = ""; lblGangweiCode.Text = ""; } private void txtZhandianName_TextChanged(object sender, EventArgs e) { lblGangweiCode.Text = ""; txtGangWeiName.Clear(); } }

C#行列轉換