private void GridView_DoubleClick(object sender, EventArgs e)
{
var gridView = sender as GridView;
DevExpress.Utils.DXMouseEventArgs dxMouseEventArgs = e as DevExpress.Utils.DXMouseEventArgs;
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hitInfo = gridView.CalcHitInfo(dxMouseEventArgs.Location);
if (!hitInfo.InRow || hitInfo.RowHandle < 0 || hitInfo.Column == null)
return;
if (gridView.Equals(gvwNotice))
{
string datnum = gridView.GetRowCellValue(hitInfo.RowHandle, "datnum")?.ToString() ?? string.Empty;
string recdt = gridView.GetRowCellValue(hitInfo.RowHandle, "recdt")?.ToString() ?? string.Empty;
BaseForm form = OpenFormByTab("CM_A0000", null, false);
// 전달할 파라미터 (0: 현재 폼ID, 1: 키 값(datnum), 2: 작성일(recdt))
var paramValues = new object[]
{
FormId,
datnum,
recdt
};
(form as IFindingData)?.GoToData(paramValues);
}
}
public partial class CM_A0000 : BaseForm, IFindingData
{
...
public bool GoToData(params object[] args)
{
if ((args?.Length ?? 0) == 0)
return false;
string fromFormId = args.ElementAtOrDefault(0)?.ToString();
string datnum = args.ElementAtOrDefault(1)?.ToString();
string recdt = args.ElementAtOrDefault(2)?.ToString();
string beforeFromDate = ymdFrdt.yyyyMMdd;
string beforeToDate = ymdTodt.yyyyMMdd;
// 조건 초기화
InitControlsRecursive(grpTop);
// 시작일 설정
if (beforeFromDate.CompareTo(recdt) == 1)
{
ymdFrdt.EditValue = recdt;
}
else
{
ymdFrdt.EditValue = beforeFromDate;
}
// 종료일 설정
if (beforeToDate.CompareTo(recdt) == -1)
{
ymdTodt.EditValue = recdt;
}
else
{
ymdTodt.EditValue = beforeToDate;
}
// 필수 입력 필드 초기화
radPublish_yn.EditValue = "%";
if (datnum != null)
{
RetrieveHelper.SetValueToFindRow(gvwList, datnum);
ClickRetrieveButton();
return true;
}
else
{
return false;
}
}
...
}