2013-12-03 1 views
0

У меня есть эта страница buscli.aspxгиперссылка в GridView с процедурой

enter image description here

работает отлично теперь источник griview является StoredProcedure

string valorC = "%" + TextBox1.Text + "%"; numo = DropDownList1.SelectedValue; 
     switch (numo) 
     { 
      case "Nome": num3 = 1; break; 
      case "Endereço": num3 = 2; break ; 
      case "Telefone": num3 = 3 ; break; 
      case "Pedido": num3 = 4; break ; 
     } 

     SqlCommand cmd = new SqlCommand(); 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.CommandText = "cazacliente2"; 
     SqlParameter valor = new SqlParameter("@vbusca", SqlDbType.NVarChar); 
     SqlParameter num = new SqlParameter("@bo",SqlDbType.Int); 
     valor.Value = valorC ; num.Value = num3 ; 
     cmd.Parameters.Add(valor); cmd.Parameters.Add(num); 
     cmd.Connection = conex1; 
     try 
     { 
      GridView1.EmptyDataText = "Nao se" + numo.ToString() +"econtraron registros"; 
      GridView1.DataSource = cmd.ExecuteReader(); 
      GridView1.DataBind(); 

     } 
     catch (Exception ex) 
     { throw ex; } 
     finally 
     { 
      conex1.Close(); 
      conex1.Dispose(); 
     } 

, но теперь мне нужно преобразовать в гиперссылка на столбец pedido, я вижу много образцов YouTube, но все это наборы данных, я пытаюсь с любым результатом с гиперссылкой.

ответ

2

Вам необходимо использовать событие RowDataBound для Gridview для управления представлением данных. Ниже приведен пример из MSDN http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound(v=vs.110).aspx

void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e) 
    { 

    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     // Display the company name in italics. 
     e.Row.Cells[1].Text = "<i>" + e.Row.Cells[1].Text + "</i>"; 

    } 

    } 
0

Вы можете просто добавить столбец шаблона в GridView и добавить якорный тег. Пожалуйста, обратите внимание, что вы должны использовать http: //, чтобы ссылка работала правильно. Ниже приведен образец. Здесь ColumnName и ColumnValue являются столбцами, которые поступают из DataTable/List/Collection в качестве источника данных.

<asp:templatefield> 
<itemtemplate> 
    <a href='<%string.Format("http://www.yourlink.com/page.aspx?id={0}", 
    Eval("ColumnName"))%>' runat="server">Eval("ColumnValue")</a> 
</itemtemplate> 
</asp:templatefield> 

Я надеюсь, что это поможет вам.

Смежные вопросы