所有。我在使用GridView.AutoGenerateEditButton属性为我做任何事情时遇到了问题。现在,我把它设置为true,我甚至没有将按钮添加到我的GridView中,所以显然我甚至无法进一步编码实际事件。这是我到目前为止所做的(对于凌乱的代码感到抱歉;我已经接近我的截止日期了,而且有点疯狂):
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
using(SqlDataReader dr = cmd.ExecuteReader())
{
DataSet ds1 = new DataSet();
DataTable dt1 = ds1.Tables.Add("Specs 1");
if (dt1.Rows.Count == 0)
{
ds1.Tables["Specs 1"].Columns.Add("General Information");
ds1.Tables["Specs 1"].Columns.Add("Customer Name");
ds1.Tables["Specs 1"].Columns.Add("Address");
// etc.
}
while (dr.Read())
{
DataRow newRow = ds1.Tables["Specs 1"].NewRow();
int x = 0;
foreach (DataColumn thisColumn in ds1.Tables["Specs 1"].Columns)
{
newRow[ds1.Tables["Specs 1"].Columns[x]] = Convert.ToString(dr[x]);
x += 1;
}
ds1.Tables["Specs 1"].Rows.Add(newRow);
}
DataSet flipped_ds1 = FlipDataSet(ds1); // Flips the dataset's orientation.
然后,当我将GridView添加到页面时,我使用以下代码:
GridView outputGrid1 = new GridView();
outputGrid1.ShowHeader = false; // Remove the integer headings.
outputGrid1.DataSource = flipped_ds1;
outputGrid1.DataBind();
outputGrid1.AutoGenerateEditButton = true;
Controls.Add(outputGrid1);
现在,正在按照我想要的方式添加列,并且数据正确填充。但是,通过将GridView.AutoGenerateEditButton属性设置为true,我没有我认为应该具有的编辑按钮。我确定我错过了一些简单的东西;有人可以帮忙吗?非常感谢。
答案 0 :(得分:1)
您是否尝试在调用DataBind()之前设置AutoGenerateEditButton?有没有办法阻止DataSet中的更新(内省可能会检测到它并避免提供无用的按钮)?