using DevExpress.XtraEditors;
using DevExpress.XtraTab;
using Gs.DevApp.Entity;
using Gs.DevApp.Query;
using Gs.DevApp.Service;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gs.DevApp.DevFrm.BasicData
{
public partial class FrmMesItems : DevExpress.XtraEditors.XtraForm
{
DataTable MesItemsDT = new DataTable();
MesItemServices mesItemServices = new MesItemServices();
public FrmMesItems()
{
InitializeComponent();
toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
pageBar1.PagerEvent += PageBar1_PagerEvent;
gcSummary.DataSource = MesItemsDT;
}
private void PageBar1_PagerEvent(int curPage, int pageSize)
{
GetPageList(curPage, pageSize);
}
///
///
///
///
///
private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
{
GetPageList(1, 10);
}
private void GetPageList(int v1, int v2)
{
MesItemQuery pgq = new MesItemQuery();
pgq.currentPage = v1;
pgq.everyPageSize = v2;
ReturnModel dd = mesItemServices.GetPageList(pgq);
MesItemsDT = dd.rtnData.list;
gcSummary.BindingContext = new BindingContext();
gcSummary.DataSource = MesItemsDT;
gcSummary.ForceInitialize();
int dddd = dd.rtnData.pages;//总页
pageBar1.TotalPages = dddd;
pageBar1.RecordCount = dd.rtnData.total;//记录总数
pageBar1.CurrentPage = v1;//当前页
pageBar1.RowsCount = v2;//每页显示
pageBar1.setTxt();
}
public static void BindingEditorPanel(Control editorPanel, DataTable dataSource)
{
var fieldName = "";
try
{
for (var i = 0; i <= editorPanel.Controls.Count - 1; i++)
{
if (editorPanel.Controls[i] is BaseEdit)
{
var edit = editorPanel.Controls[i] as BaseEdit;
if (edit.Name.Substring(0, 3) == "txt")
{
fieldName = edit.Name.Substring(3, edit.Name.Length - 3);
BindingTextEditBase(edit, dataSource, fieldName);
}
}
if (editorPanel.Controls[i] is CheckEdit)
{
var edit = editorPanel.Controls[i] as CheckEdit;
if (edit.Name.Substring(0, 3) == "chk")
{
fieldName = edit.Name.Substring(3, edit.Name.Length - 3);
BindingCheckEdit(edit, dataSource, fieldName);
}
}
}
}
catch (Exception ex)
{
ToolBox.MsgHelper.Warning("提示:" + "字段:" + fieldName + "\r\n" + ex.Message);
}
}
///
/// 绑定输入控件的数据源
///
/// 控件框
/// 数据源
/// 取值字段
public static void BindingTextEditBase(BaseEdit edit, object dataSource, string bindField)
{
try
{
edit.DataBindings.Clear();
var b = new Binding("EditValue", dataSource, bindField);
edit.DataBindings.Add(b);
b.ReadValue();
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 绑定CheckEdit的数据源
///
/// CheckEdit
/// 数据源
/// 取值字段
public static void BindingCheckEdit(CheckEdit edit, object dataSource, string bindField)
{
try
{
edit.DataBindings.Clear();
var b = new Binding("EditValue", dataSource, bindField);
b.NullValue = "N";
edit.DataBindings.Add(b);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 跳转到指定name的tab
///
///
private void JumpToTabByName(string tabName)
{
foreach (XtraTabPage page in xtraTabControl1.TabPages)
{
if (page.Name == tabName)
{
xtraTabControl1.SelectedTabPage = page;
break;
}
}
}
private void gvSummary_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
// 获取当前行的数据的ID
int rowHandle = gvSummary.FocusedRowHandle;
int rowId = Convert.ToInt32( gvSummary.GetRowCellValue(rowHandle, "id"));
MesItemQuery pgq = new MesItemQuery();
pgq.id = rowId;
pgq.currentPage = 1;
pgq.everyPageSize = 1;
ReturnModel dd = mesItemServices.GetPageList(pgq);
DataTable rowDatable = dd.rtnData.list;
BindingEditorPanel(pcDetailEditor, rowDatable);
// 跳转到指定的XtraTabPage
JumpToTabByName("xtraTabPage2");
}
}
}