我有一个受 SQL 约束的 gridview。在某些列中有位值。当我使用 C# 将值放入 gridview 时,会显示复选框。我需要将该列的值提取到文本中。
SqlConnection sConnection = new SqlConnection(MyConnectionString);
SqlCommand sCommand = new SqlCommand();
using (sConnection)
{
sCommand.Connection = sConnection;
sCommand.CommandText = "MyStoredProcedure";
sCommand.CommandType = CommandType.StoredProcedure;
sCommand.Connection.Open();
SqlDataReader reader = sCommand.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
gridView.DataSource = reader;
gridView.DataBind();
}
for (int i = 0; i < gridView.Rows.Count; i++)
{
ListBox1.Items.Add(gridView.Rows[i].Cells[3].Text);
}
}
}
gridview 列数据类型为“位”。我无权访问数据库或存储过程来更改那里的任何内容。我需要以某种方式提取“0”或“1”值,但是当我像上面那样做时,文本是空白的。
我也尝试使用“GetOrdinal”。它从数据库返回了一个真/假值,但我不知道如何获取网格视图中每个项目的值。
if (!reader.IsDBNull(reader.GetOrdinal("MyColumn1")))
{
ListBox1.Items.Add(reader.GetOrdinal("MyColumn1").ToString());
}