C# 如何将sql查询中的数据设置到gridview模板字段中
在我的SQL查询中,我检索了3个字符串,第3个字符串有一个URL。我创建了2个templatefield,其中包含标签和另一个带有图像的模板。现在我想设置两个标签的值,并通过设置ImageUrl查看图像,并显示SQL查询中的所有行C# 如何将sql查询中的数据设置到gridview模板字段中,c#,asp.net,C#,Asp.net,在我的SQL查询中,我检索了3个字符串,第3个字符串有一个URL。我创建了2个templatefield,其中包含标签和另一个带有图像的模板。现在我想设置两个标签的值,并通过设置ImageUrl查看图像,并显示SQL查询中的所有行 protected void Page_Load(object sender, EventArgs e) { //if (IsPostBack == false) //{ // grdMaterial.DataBind(); //
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)
{
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
//如果(IsPostBack==false)
//{
//grdMaterial.DataBind();
//}
尝试
{
matType=int.Parse(会话[“matType”].ToString());
colorId=int.Parse(会话[“color”].ToString());
matStyleId=int.Parse(会话[“matstyle”].ToString());
尝试
{
matContent=会话[“matContent”].ToString();
}
抓住
{
panAval.Visible=true;
panNew.Visible=false;
dtab=new DBHELPER().getdataTable(“从[item]中选择[item_Id]、[mat_内容]、[mat_图像],其中[mat_内容]='“+matContent+””);
//grdMaterial.DataSource=dtab;
//grdMaterial.DataBind();
}
捕获(异常ee)
{
}
}
受保护的void grdMaterial_加载(对象发送方,事件参数e)
{
尝试
{
for(int i=0;i
此事件:GRD材料负载似乎没有必要
您可以简单地将数据源绑定到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>
Wow。您已经在标题中发布了实际问题。标题用于用几个词来描述问题。查看其他人如何提问。