2017-08-17 52 views
0

我正在使用Web表单从sql数据库中提取数据,填充数据表并使用该数据表填充Gridview。使用Gridview的值

为当按下 搜索按钮填充GridView控件执行SQL查询代码然后设置数据源到数据表(GT1)

GT1.Load(SCDR); 
      EntryGrid.ShowHeaderWhenEmpty = true; 
      EntryGrid.DataSource = GT1; 
      EntryGrid.DataBind(); 
      EntryGrid.EditIndex = 0; 
      EntryGrid.DataBind(); 

我原本只打算使用GridView控件来填充一系列变量并使用它们生成Sql查询,但EntryGrid.Rows[0].Cells[2].Text会生成一个空字符串。
row.Cells[4].Text returns nothing in GridView1_SelectedIndexChanged?谈论使用FindControl(“控制ID”),但我只是更加困惑看着这个。我如何找到控件ID,以及我需要做什么才能将gridview中特定单元格的值转换为字符串变量?

GridView控件是由下面的代码

DataTable GT1 = new DataTable(); 
protected void Button1_Click(object sender, EventArgs e) 
    { 

     string SqlQuery1 = sql.Replace("LASTNAME_", LastnameBox.Text); 
     SqlQuery1 = SqlQuery1.Replace("LAST4_", PAsswordBox.Text); 




     SqlConnection Conn1 = new SqlConnection(DC1.DbConn); 
     Conn1.Open(); 
     SqlCommand SearchCommand = new SqlCommand(SqlQuery1, Conn1); 
     SqlDataReader SCDR = SearchCommand.ExecuteReader(); 


     GT1.Load(SCDR); 
     EntryGrid.ShowHeaderWhenEmpty = true; 
     EntryGrid.DataSource = GT1; 
     EntryGrid.DataBind(); 
     EntryGrid.EditIndex = 0; 
     EntryGrid.DataBind(); 
} 

回答

0

控制ID填充是您在模板列的项中的每个设置ID。以下是使用FindControl从标签获取信息并将其存储在VarFromGrid中的示例。该行由RowSelected获取。不知道你想如何获得这一行,但这是一种方法。

ASPX代码:

<asp:Label ID="LabelGridViewBankName" runat="server" Text="something"></asp:Label> 

后面的代码:

GridViewRow row = GridView1.SelectedRow; 
string VarFromGrid = row.Cells[4].FindControl('LabelGridViewBankName').Text; 

编辑:

您可以使用一个GridViewRow抢行,然后从中获取数据如下图所示。你不应该需要查找控件。

GridViewRow row = (GridViewRow)EntryGrid.SelectedItems[0]; 
string something = row.Cells[0].Text; 

只要记住,以确保网格行不为空,否则你会得到一个空的异常。并且一旦完成就关闭连接字符串。我仍然返回一个空字符串,在调试模式下看看你的dataTable,看看数据是如何存储的。

+0

是'LabelGridViewBankName'应该是列上的标签? GridView的列动态填充它作为DataSource使用的数据表,并且DataTable在添加DataList时添加列DataTable.Load(SqlDataReader) –

+0

我最近的一次尝试让我得到了一个错误 'Control'没有包含“文本”的定义,并且没有可以找到接受第一个参数类型“控制”的扩展方法“文本”(您是否缺少使用指令或程序集引用?) –

+0

您可以发布一些更多的代码。就像你的网格正在创建和你的列一样? – Pintang

相关问题