Array
(
)

pegar codigo do grid via JS

Ricardo Silva
   - 10 mar 2008

Galera tenhu um grid comun na minha pagina

#Código
<asp:GridView ID="gridFornecedor" runat="server"
<Columns>
<asp:BoundField DataField="COD_FORN" HeaderText= "Código">
</asp:BoundField>
<asp:BoundField DataField="RAZ_SOC_FORN" HeaderText= "Razão Social">
</asp:BoundField>
<asp:BoundField DataField="NOM_FAN_FORN" HeaderText="Nome Fantasia">
</asp:BoundField>
</Columns>
</asp:GridView>


Desculpe se o código tiver errado é que eu dei uma editada pra vicar melhor

Ricardo Silva
   - 10 mar 2008

Continuando, enviei sem quuerer (rsrsr)

se o usuario der um clique ele pinta aquela linha
se der dois clique ele chama uma tela de edição
pra fazer isso eu usei um codigo javaScript, assim:
#Código
var currentRowId = 0;
function SelectRow(){
if (event.keyCode == 40)
MarkRow(currentRowId+1);
else if (event.keyCode == 38)
MarkRow(currentRowId-1);
if (event.keyCode == 13)
Enter(currentRowId);
if (event.keyCode == 46)
Excluir(currentRowId);
}
function MarkRow(rowId){
if (document.getElementById(rowId) == null)
return;
if (document.getElementById(currentRowId) != null)
document.getElementById(currentRowId).style.backgroundColor = ´#ffffff´;
currentRowId = rowId;
document.getElementById(rowId).style.backgroundColor = ´ffff00´;
}
function dobleClique(selecionado){
var _pagina = "wf_CadFornecedor.aspx?id=" + selecionado;
var _option = "dialogHeight: 370px; dialogWidth: 600px; status: no; center : yes; scroll: No";
window.showModalDialog(_pagina,´´, _option);
}
function butonEdite(){
var _pagina = "wf_CadFornecedor.aspx?id=" + currentRowId;
var _option = "dialogHeight: 370px; dialogWidth: 600px; status: no; center : yes; scroll: No";
window.showModalDialog(_pagina,´´, _option);
}


no RowDataBouns do code-binhide fica asim:
#Código
private int _i = 0;
protected void gridFornecedor_RowDataBound(object sender, GridViewRowEventArgs e) {
if(e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState == DataControlRowState.Alternate || e.Row.RowState == DataControlRowState.Normal)) {

e.Row.Attributes.Add("onMouseOver", "this.style.cursor=´hand´;");

//e.Row.Attributes.Add("onMouseOut", "this.style.backgroundColor=´#ffffff´");

e.Row.Attributes.Add("id", _i.ToString());

e.Row.Attributes.Add("codigo", e.Row.Cells[1].Text);

e.Row.Attributes.Add("onKeyDown", "SelectRow();");

e.Row.Attributes.Add("onClick", "MarkRow(" + _i.ToString() + ");");

e.Row.Attributes.Add("onDblClick", "dobleClique(" + e.Row.Cells[1].Text + ");");

_i++;
}
}


Bom até aki ta funcionando
o que eu quero fazer é a função do doubleClique funcionar em um Buton
eu tentei algo assim:
#Código
protected void btnEditar_Click(object sender, EventArgs e) {
string jScript = "";
jScript += "<script type=´text/javascript´>";
jScript += "butonEdite();";
jScript += "</script>";

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "_edite", jScript, false);
}
}


porem ele ta deixando o currentRowId esta em Zero
Pergunta alguem sabe como se faz pra armazenar o codigo da linha que o uaurio clicar via JavaScript

Ricardo Silva
   - 12 mar 2008

Galera axo que axei a solução pra esta pogueira....

é um pouco complicado... qndo eu tiver um tempinho a mais eu vo posta a solução, e ainda orientada Bunitinha...