Fórum Problemas em retornar valor para funções Javascript #457666
07/10/2013
0
var actionID = "";
var actionsMenu = "";
var actionElement = null;
function OpenActions(s, e) {
if (cbAcoes.InCallback())
return;
if (actionID != s.uniqueID || actionsMenu == "") {
actionElement = s;
actionID = s.uniqueID;
cbAcoes.PerformCallback(e);
}
else
doACAOMENU();
}
function ActionOnCompleteCallBack(s, e) {
actionsMenu = e.result;
}
function ActionOnEndCallBack(s, e) {
if (actionsMenu == ''cpItens'')
doACAOMENU();
else if(actionsMenu == ''cpItensNFI'')
doACAOMENUNFI();
}
function doACAOMENUNFI() {
if (actionsMenu != "") {
for (ix = 0; ix < apmItensNFI.GetItemCount(); ix++) {
mni = apmItensNFI.GetItem(ix);
mni.SetVisible(false);
}
if (actionsMenu == ''NOK_rejeitado'') {
alert(''Verificar motivo da rejeição no Portal de Serviços da operadora.'');
actionsMenu = "";
return;
}
if (actionsMenu == ''NOK_EmAnalise'') {
alert(''A operadora ainda não finalizou a análise dessa conta.'');
actionsMenu = "";
return;
}
str = actionsMenu.split('','');
console.log(str);
param = cbAcoes.cpPARAM;
console.log(param);
var valor = "";
for (ix = 0; ix < str.length; ix++) {
console.log(ix);
mni = apmItensNFI.GetItemByName(str[ix]);
console.log(mni);
mni.SetVisible(true);
console.log(str[ix]);
valor = eval("cbAcoes." + str[ix]);
mni.SetNavigateUrl(valor.replace("", param));
}
if (actionElement != null)
apmItensNFI.ShowAtElement(actionElement);
else
apmItensNFI.ShowAtElementByID(actionID);
}
}
function oncloseMenu(s, e) {
actionElement = null;
actionID = "";
}
function VisualizarItens(s, e) {
param = cbAcoes.cpPARAM;
cbpPainelControle.PerformCallback(''VisualizarItens_'' + param);
}
Aqui está o meu call_back para o cbAcoes.
protected void cbAcoes_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e)
{
string _tipo = null;
string GuiaPrest = null;
string _codItemNFI = null;
DataTable dtContaGuia = null;
if (_filtroSelecionado == enFiltroPesquisa.NotaFiscal)
{
//Tipo Nota fiscal
_tipo = "N";
_codItemNFI = e.Parameter.ToString();
}
else
{
//Tipo outros
_tipo = "O";
GuiaPrest = e.Parameter.ToString();
}
// Recupera a configuracao do menu inicializado no método InicializaMenuAcoes()
if (menus == null && ViewState["menuAcao"] != null)
menus = (NameValueCollection)ViewState["menuAcao"];
String[] AcaoMenu = null;
string resultado = null;
switch (_tipo)
{
case "N":
dtContaGuia = DAL_Pesquisa.getStatusItemNFI_Menu(_codItemNFI);
break;
case "O":
dtContaGuia = DAL_Pesquisa.getStatusGuiaPrestador_Menu(GuiaPrest);
break;
}
if (dtContaGuia != null && dtContaGuia.Rows.Count > 0)
{
if (dtContaGuia.Rows[0]["COD_STATUS_CONCILIA"].ToString().Equals("6"))
resultado = "NOK_EmAnalise";
else if (dtContaGuia.Rows[0]["COD_STATUS_CONCILIA"].ToString().Equals("7"))
resultado = "NOK_rejeitado";
else if(_tipo == "O")
AcaoMenu = new String[] { "cpItens" };
else if(_tipo == "N")
AcaoMenu = new String[] { "cpItensNFI" };
}
else
throw new ApplicationException("A operadora não finalizou a análise dessa conta.");
StringBuilder sbmenu = new StringBuilder();
cbAcoes.JSProperties.Clear();
if (AcaoMenu != null)
{
foreach (String key in AcaoMenu)
{
sbmenu.AppendFormat(",", key);
cbAcoes.JSProperties.Add(key, menus[key]);
}
e.Result = sbmenu.ToString().Substring(1);
switch (_tipo)
{
case "N":
cbAcoes.JSProperties.Add("cpPARAM", _codItemNFI);
break;
case "O":
cbAcoes.JSProperties.Add("cpPARAM", GuiaPrest);
break;
}
}
else
{
e.Result = resultado;
cbAcoes.JSProperties.Add("cpPARAM", null);
}
}
No page load eu chamo esse cara
private void InicializaMenuAcoes()
{
menus = new NameValueCollection();
apmContasGuias.Items.Clear();
apmItensNFI.Items.Clear();
AddMenuItemNFIAcoes("cpItensNFI", "Visualizar Itens", "javascript:ConteudoItem();");
AddMenuContasGuiasAcoes("cpItens", "Visualizar Itens", "javascript:VisualizarItens();");
ViewState["menuAcao"] = menus;
}
ConteudoItens e VisualizarItens são submétodos de um call_back, o principal(mas não é o cbAcoes_Callback)
protected void cbpPainelControle_Callback(object sender, CallbackEventArgsBase e)
{
if (e.Parameter.Contains("VisualizarConta"))
{
string id = e.Parameter.Substring((e.Parameter.LastIndexOf(''_'')) + 1);
CarregaContasGuia(Ametista.CodigoStatusConciliacao.ContasPorMotivoGlosa, id);
return;
}
if (e.Parameter.Contains("VisualizarItens"))
{
pagContas = gvContasGuias.PageIndex;
string idGuiaPres = e.Parameter.Substring((e.Parameter.LastIndexOf(''_'')) + 1);
ListaDetalhesConta(idGuiaPres, false);
return;
}
if (e.Parameter.Contains("ConteudoItem"))
{
pagContas = gvItemNotaFiscal.PageIndex;
string idItem = e.Parameter.Substring((e.Parameter.LastIndexOf(''_'')) + 1);
ListaDetalhesContaNFI(idItem, false);
return;
}
continua mais métodos nesse callback
Se precisar mais informações, favor me avisar, senão fica uma linguiça enorme e até ruim de ler
Pjava
Curtir tópico
+ 0Posts
07/10/2013
Pjava
param = cbAcoes.cpPARAM;
Gostei + 0
11/10/2013
Pjava
Gostei + 0
11/10/2013
José
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)