如何使用c#获取gridview中的特定数据?
How to get a specific data in gridview using c#?
我想知道如何从 gridview
中检索特定数据。我的数据库由 id、type 和 name 等列组成。假设我的 gridview
的内容如下例所示:
ID 类型 姓名
1 吉他 Ibanez
2 吉他 吉布森
我想要的是获取 Name 下的值,比方说 "Ibanez"。我能够使用数据键检索 Id 的值,但我不知道如何在 Gridview
中获取 Name 的值。我在下面包含了代码以更好地理解我的意思。
protected void GuitarBrandsGridViewBtn_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
GridViewRow gridrow = btn.NamingContainer as GridViewRow;
int id = Convert.ToInt32(GuitarBrandsGridView.DataKeys[gridrow.RowIndex].Value.ToString());
con.Open();
cmd.CommandText = "DELETE FROM [guitarBrands] WHERE id=" + id;
cmd.Connection = con;
int a = cmd.ExecuteNonQuery();
con.Close();
if (a > 0)
{
bindgridviewguitarbrands();
}
System.IO.File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItemsIbanezDetails" + id + ".aspx");
System.IO.File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItemsIbanezDetails" + id + ".aspx.cs");
}
您可以像这样访问特定的列
GuitarBrandsGridView.Rows[gridrow.RowIndex].Cells[1].Text;
您可以在网格视图中使用模板字段而不是像这样的绑定字段:
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("ColumnNameOfYourDatasourceForName") %>' />
</ItemTemplate>
</asp:TemplateField>
然后从以下代码中获取标签及其代码中的文本:
protected void GuitarBrandsGridViewBtn_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
GridViewRow gridrow = btn.NamingContainer as GridViewRow;
Label lblName = gridrow.FindControl("lblName");
string name = lblName.Text;
}
我想知道如何从 gridview
中检索特定数据。我的数据库由 id、type 和 name 等列组成。假设我的 gridview
的内容如下例所示:
ID 类型 姓名
1 吉他 Ibanez
2 吉他 吉布森
我想要的是获取 Name 下的值,比方说 "Ibanez"。我能够使用数据键检索 Id 的值,但我不知道如何在 Gridview
中获取 Name 的值。我在下面包含了代码以更好地理解我的意思。
protected void GuitarBrandsGridViewBtn_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
GridViewRow gridrow = btn.NamingContainer as GridViewRow;
int id = Convert.ToInt32(GuitarBrandsGridView.DataKeys[gridrow.RowIndex].Value.ToString());
con.Open();
cmd.CommandText = "DELETE FROM [guitarBrands] WHERE id=" + id;
cmd.Connection = con;
int a = cmd.ExecuteNonQuery();
con.Close();
if (a > 0)
{
bindgridviewguitarbrands();
}
System.IO.File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItemsIbanezDetails" + id + ".aspx");
System.IO.File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItemsIbanezDetails" + id + ".aspx.cs");
}
您可以像这样访问特定的列
GuitarBrandsGridView.Rows[gridrow.RowIndex].Cells[1].Text;
您可以在网格视图中使用模板字段而不是像这样的绑定字段:
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("ColumnNameOfYourDatasourceForName") %>' />
</ItemTemplate>
</asp:TemplateField>
然后从以下代码中获取标签及其代码中的文本:
protected void GuitarBrandsGridViewBtn_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
GridViewRow gridrow = btn.NamingContainer as GridViewRow;
Label lblName = gridrow.FindControl("lblName");
string name = lblName.Text;
}