1、DataGrid 用代码方式增加一列范例:
bool isAdded = _mapDataGrid3.DataGrid.Columns.Contains(a => a.Header.ToString() == "医保钱包支付金额");
DataGridColumn col = _mapDataGrid3.DataGrid.Columns.Where(a => a.Header.ToString() == "退费结算标志").FirstOrDefault();
if (col != null && !isAdded)
{
int index = _mapDataGrid3.DataGrid.Columns.IndexOf(col);
DataGridTextColumn item = new DataGridTextColumn();
item.Header = "医保钱包支付金额";
item.Binding = new Binding("byje15");
item.Width = 110;
_mapDataGrid3.DataGrid.Columns.Insert(index, item);
}
//StringBuilder sb = new StringBuilder();
//foreach (var item in _mapDataGrid3.DataGrid.Columns)
//{
// sb.Append($"{item.Header.ToString()}, ");
//}
//MessageHelper.ShowDialog(sb.ToString(), "检查DataGrid3列头");
2、ORACLE 数据表插入记录后返回(自增长)主键的值范例:
(1)C# 代码:
private class NUMBER_Type
{
public int ORDERREQUESTID { get; set; }
}
public int CreateConsulationRelatedOrderRequest(DtoConsultation dto, int clinicItemId)
{
int ret = -1;
using (DbConnection cn = DapperHelper.CrateConnection(Dbs.IP))
{
OracleDynamicParameters param = new OracleDynamicParameters();
param.Add("v_EnconterID", dto.EncounterId);
param.Add("v_OrganizationID", dto.RequestOrganizationId);
param.Add("v_AuthorID", dto.RequestEmployeeId);
param.Add("v_ClinicItemId", clinicItemId);
param.Add("CV_1", OracleDbType.RefCursor, ParameterDirection.Output);
var result = DapperHelper.ExecuteSP<NUMBER_Type>(cn, "POOR.CreateConsulationRelatedOrderRequest", param);
if (result.Count > 0)
{
ret = result.First().ORDERREQUESTID;
}
}
return ret;
}
(2)数据库存储过程:
CREATE OR REPLACE PROCEDURE POOR.CreateConsulationRelatedOrderRequest(v_EnconterID NUMBER, v_OrganizationID NUMBER, v_AuthorID NUMBER, v_ClinicItemId NUMBER, CV_1 OUT SYS_REFCURSOR)
AS
v_Id NUMBER(10, 0);
v_PersonID NUMBER;
v_MaxOrdinal NUMBER;
/* =========================================================================================
20XX-XX-XX CREATED
========================================================================================= */
BEGIN
SELECT nvl(a.personid, -1) into v_PersonID from prpa.encounter a where a.encounterid=v_EnconterID;
SELECT nvl(MAX(a.ordinal),1) into v_MaxOrdinal from poor.orderrequest a where a.isdeleted=0 and a.periodkind=1 and a.orderkindcodeid=4 and a.encounterid=v_EnconterID;
INSERT INTO POOR.ORDERREQUEST (PERIODKIND, ORDERKINDCODEID, ORDERSUBKINDCODEID, ORDERCHILDKINDCODEID, ORDINAL, PARENTID, PERSONID, ENCOUNTERID, AUTHORID, LATESTMODIFIERID, OWNERORGANIZATIONID, PLACERGROUPID, STARTDATE, ENDDATE, CONSUMABLECODEID, CONSUMABLEID, ROUTEID, METHODID, FREQUENCYID, REASON, NOTE, ASREQUIRED, ASREQUIREDCONDITION, EXECTIMESERIES, FIRSTDAYEXECTIMESERIES, LASTDAYEXECTIMESERIES, NEXTCOLLATEDATE, REPEATNUMBER, DOSE, ADMINDOSE, ISEMERGENCY, STATUSCODEID, ORDERVERSION, ISDELETED, CAREACTIVITYID, COLLATEDATE, ISSUPPLEMENT, SOURCEORDERREQUESTID, CREATEKINDCODEID, TREATINGTEAMID, NURSETEAMID, PLANSTOPDATE, DAYS, AMOUNT, WARNFLAG, REQUESTPERFORMTIME, ROWVERSION, INPUTDATETIME, NUMBERVERSION, PLANLASTSTOPEXECTIMESERIES, PAYMENTRATIO, LEFTRIGHTPOSITIONCODEID, RELATIONSHIPID, ATTACHTAGCODEID, HASPRINTEDPOS, ALLOWCANCELCODE, LATESTCOLLATEDON, LATESTCOLLATEDBY, CALCFREQCODEID, TYPECODEID, ISNURSING, SUBSTANCENAME, ORDERTEXT, DUBSIGNDOSAGENOTE, RECEIVINGINFOID)
VALUES(1, 4, 0, 2, v_MaxOrdinal+1, -1, v_PersonID, v_EnconterID, v_AuthorID, v_AuthorID, v_OrganizationID, -1, sysdate, sysdate, 7, v_ClinicItemId, -1, -1, -1, null, null, 0, null, '08:00', '08:00', null, trunc(sysdate), 1, 1.0, 1.0, 0, 0, 0, 0, -1, trunc(sysdate), 0, -1, 0, null, null, null, 1, 0.0, null, null, sysdate, sysdate, 1, null, null, -1, null, null, null, null, null, null, null, null, 0, null, null, null, null) RETURNING ORDERREQUESTID INTO v_Id;
OPEN CV_1 FOR
SELECT v_Id AS ORDERREQUESTID FROM dual;
EXCEPTION
WHEN others THEN
dbms_output.put_line('SQL CODE:'||sqlcode||chr(10)||
sqlerrm||chr(10)||
dbms_utility.format_error_backtrace());
rollback;
end;