2009-09-10 2 views
1

В моем SQL-запросе я извлекаю 3 строки, а 3-я строка имеет URL-адрес. Я создал 2 шаблона поля, содержащие метки и еще один шаблон с изображением. Теперь я хочу установить значения для двух меток и просмотреть изображение, установив ImageUrl и отобразив все строки, выходящие из SQL-запроса.как установить данные из sql-запроса в поле шаблона gridview

protected void Page_Load(object sender, EventArgs e) 
{ 
    //if (IsPostBack == false) 
    //{ 
    // grdMaterial.DataBind(); 
    //} 
    try 
    { 
     matType = int.Parse(Session["mattype"].ToString()); 
     colorId = int.Parse(Session["color"].ToString()); 
     matStyleId = int.Parse(Session["matstyle"].ToString()); 
     try 
     { 
      matContent = Session["matContent"].ToString(); 
     } 
     catch 
     { 
      panAval.Visible = true; 
      panNew.Visible = false; 
      dtab = new DBHELPER().getdataTable("SELECT [item_Id],[mat_Content],[mat_Image] FROM [item] WHERE [mat_Content]='" + matContent + "'"); 
      //grdMaterial.DataSource = dtab; 
      //grdMaterial.DataBind(); 



    } 
    catch (Exception ee) 
    { 
    } 

} 

protected void grdMaterial_Load(object sender, EventArgs e) 
{ 
    try 
    { 
     for (int i = 0; i < dtab.Rows.Count; i++) 
     { 
      //TextBox x = (TextBox)GridViewCarrinho.Rows[row.RowIndex].Cells[2].FindControl("txtQuantidade"); 


      Label itemId = (Label)grdMaterial.FindControl("lblItemId"); 
      itemId.Text = dtab.Rows[i]["item_Id"].ToString(); 

      Label matContent = (Label)grdMaterial.FindControl("lblItemName"); 
      matContent.Text = dtab.Rows[i]["mat_Content"].ToString(); 

      Image itemImage = (Image)grdMaterial.FindControl("imgItemImage"); 
      itemImage.ImageUrl = dtab.Rows[i]["mat_Image"].ToString(); 

     } 
    } 
    catch (Exception ee) 
    { 
    } 
} 
+2

Wow. Вы опубликовали фактический вопрос в названии. Название используется для описания проблемы в нескольких словах. Посмотрите, как другие задают вопросы. – shahkalpesh

ответ

2

Это событие: grdMaterial_Load не представляется необходимым.

Вы можете просто привязать свой источник данных к datagrid и просто настроить datagrid для получения изображения и заполнить метки.

Просто связать ваши Itemid и ITEMNAME столбцы, а затем создать поле шаблон для изображения, как показано ниже ...

<asp:GridView ID="grdMaterial" runat="server" DataKeyNames="item_Id" AutoGenerateColumns="False"> 
    <Columns> 
     <asp:BoundField DataField="item_Id" HeaderText="Item Id" /> 
     <asp:BoundField DataField="mat_Content" HeaderText="Item Name" /> 
     <asp:TemplateField ShowHeader="false"> 
      <ItemTemplate> 
       <asp:Image ID="imgItemImage" runat="server" ImageUrl="<%# DataBinder.Eval(Container.DataItem, "mat_Image")) %>" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 
Смежные вопросы