我有一个包含两列的网格视图。一个名为产品,另一个名为值(模板字段中的两列)。
产品列绑定到“product”表。 值字段的项目模板包含一个文本框。
我需要通过网格视图中的文本框将值插入数据库表“BrandProperties”,但我不知道如何执行此操作。
这是我的代码:
if (!IsPostBack)
{
BindView();
}
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("select ID,TypeName from ProductTypes",con);
da.Fill(dt);
DropDownList1.DataSource = dt;
DropDownList1.DataValueField = "ID";
DropDownList1.DataTextField = "TypeName";
DropDownList1.DataBind();
}
public void BindView()
{
DataTable dt = new DataTable();
string sql = "select * from Properties";
con.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, con);
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
con.Close();
}
aspx.code:
Text="Brand Name"></asp:Label>
<asp:Button ID="Button1" runat="server" BackColor="#6699FF"
style="z-index: 1; left: 410px; top: 391px; position: absolute"
Text="SAVE" onclick="Button1_Click" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
CellPadding="3" GridLines="Horizontal"
style="z-index: 1; left: 52px; top: 230px; position: absolute; height: 133px; width: 344px">
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<Columns>
<asp:TemplateField HeaderText="Product">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("PropertyName") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
答案 0 :(得分:0)
试试这个
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
CellPadding="3" GridLines="Horizontal" Style="z-index: 1; left: 52px; top: 230px;
position: absolute; height: 133px; width: 344px">
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<Columns>
<asp:TemplateField HeaderText="Product">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("PropertyName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="btnSave" runat="server" Text="SaveValues" OnClick = "btnSave_OnClick" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void btnSave_OnClick(object sender, EventArgs e)
{
Button lb = (Button)sender;
GridViewRow row = (GridViewRow)lb.NamingContainer;
if (row != null)
{
int index = row.RowIndex; //gets the row index selected
TextBox tb = (TextBox)GridView1.Rows[index].FindControl("TextBox2");
string YourRequiredText = tb.Text;
}
}