在GridView内访问特定控件

      本文我将为你演示如何访问GridView中的特定控件。我们会看到怎样去访问TextBox控件,DropDownList控件以及ListBox控件。
添加控件到GridView:

你可以简单地使用 <ItemTemplate>选项在GridView控件中增加不同的控件。

填充列表框和下拉框控件

第二步首要任务是填充列表框和下拉框控件,让我们生成一个简单的服务器端方法来填充列表框和下拉框控件。

C# Code:

// 此方法用于填充列表框和下拉框控件
public DataSet PopulateControls()

{

SqlConnection myConnection = new SqlConnection(GetConnectionString());

SqlDataAdapter ad = new SqlDataAdapter("SELECT [Name] FROM tblPerson", myConnection);

DataSet ds = new DataSet();

ad.Fill(ds, "tblPerson");

return ds;

}
 

现在我们要在HTML视图中绑定这个方法,为DropDownList控件设置以下代码,对ListBox控件你也重复同样的方法。

 <ItemTemplate>
<asp:DropDownList ID="DropDownList1" DataTextField="Name" DataValueField = "Name" DataSource= '<%# PopulateControls() %>' runat="server">
</asp:DropDownList>
</ItemTemplate>

你的DropDownList和 ListBox控件都已经填充了同样的数据,现在让我们瞧瞧如何访问GridView中的控件。

访问GridView中的特定控件。

我们将试图输出当按钮点击事件发生时在TextBox中输入或在DropDownList和ListBox控件中选择的值,来看看这是如何完成的。

C# Code:

protected void Button1_Click(object sender, EventArgs e)
{

// 重复访问GridView中的每一行

foreach (GridViewRow row in GridView1.Rows)

{

// 从GridView中的TextBox控件得到文本

string textBoxText = ((TextBox)row.FindControl("TextBox1")).Text;

Response.Write(textBoxText);

// 从GridView中的DropDownLis控件得到选定值

string dropDownListText = ((DropDownList)row.FindControl("DropDownList1")).SelectedItem.Value;

Response.Write(dropDownListText);

// 从GridView中的ListBox控件选择值

ListBox myListBox = (ListBox)row.FindControl("ListBox1");

foreach(ListItem selectedItem in myListBox.Items)

{

// 检查ListBox中的项是否被选中
if (selectedItem.Selected)
{
// 输出选择项的值
Response.Write(selectedItem.Value);
}
}
}

以上代码中我们做过的都是使用GridViewRow对象来循环访问 GridView控件中的所有行,下一步我们将使用FindControl方法去寻找控件,并输出控件的值。

我希望你喜欢这片文章,快乐地编码!

你可能感兴趣的:(GridView)