C# 如何在gridview列中动态添加按钮?
我有gridview的代码。如何使用此代码在除第一列之外的每行的所有列中启用“添加”按钮?我没有为gridview指定templatefield或其他字段,因为我通过此代码声明gridview显示。我怎样才能做到这一点?这是我的代码:C# 如何在gridview列中动态添加按钮?,c#,asp.net,gridview,C#,Asp.net,Gridview,我有gridview的代码。如何使用此代码在除第一列之外的每行的所有列中启用“添加”按钮?我没有为gridview指定templatefield或其他字段,因为我通过此代码声明gridview显示。我怎样才能做到这一点?这是我的代码: `protected void Page_Load(object sender, EventArgs e) { //where request_date >= DATEADD(day,-8, GETDATE()) con.Open();
`protected void Page_Load(object sender, EventArgs e)
{
//where request_date >= DATEADD(day,-8, GETDATE())
con.Open();
DataTable dtTemp = new DataTable();
cmd = new SqlCommand("SELECT a.request_date,a.prod_line,a.jo_no,a.qty,CONVERT(VARCHAR(10),a.need_by_date ,101) as need_by_date,b.process_id FROM CutPanelCard a LEFT JOIN CutPanelConfirmation b on b.req_id=a.req_id where request_date >= DATEADD(day,-8, GETDATE()) order by request_date", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dtTemp);
ViewState["Information"] = dtTemp;
try
{
{
//DataTable dtTemp = (DataTable)ViewState["Information"];
DataTable dtDistinctRecords = dtTemp.DefaultView.ToTable(true, "prod_line");
DataTable dtStudentName = dtTemp.DefaultView.ToTable(true, "request_date");
DataTable a = new DataTable();
DataTable dtStudent = new DataTable();
dtStudent.Columns.Add("request_date");
foreach (DataRow rows in dtDistinctRecords.Rows)
{
dtStudent.Columns.Add(rows["prod_line"].ToString());
}
foreach (DataRow row in dtStudentName.Rows)
{
DataRow dr = dtStudent.NewRow();
dr["request_date"] = row["request_date"];
DataView dv = new DataView(dtTemp);
dv.RowFilter = "request_date='" + row["request_date"] + "'";
DataTable dtStudentdtl = dv.ToTable();
for (int i = 0; i < dtStudentdtl.Rows.Count; i++)
{
string colValue = dtStudentdtl.Rows[i]["jo_no"].ToString();
string colValue2 = dtStudentdtl.Rows[i]["qty"].ToString();
string colValue3 = dtStudentdtl.Rows[i]["need_by_date"].ToString();
string colValue4 = dtStudentdtl.Rows[i]["process_id"].ToString();
dr[dtStudentdtl.Rows[i]["prod_line"].ToString()] = "JO: " + colValue + " Quantity: " + colValue2 + " Need by Date: " + colValue3 + " Completion Status: " + colValue4;
}
dtStudent.Rows.InsertAt(dr, dtStudent.Rows.Count);
}
GridView1.DataSource = dtStudent;
GridView1.DataBind();
GridView_Row_Merger(GridView1);
con.Close();
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}`
`protectedvoid页面\u加载(对象发送方,事件参数e)
{
//其中request\u date>=DATEADD(day,-8,GETDATE())
con.Open();
DataTable dtTemp=新DataTable();
cmd=new SqlCommand(“选择a.request\u date,a.prod\u line,a.jo\u no,a.qty,CONVERT(VARCHAR(10),a.need\u by\u date,101)作为need\u by\u date,b.process\u id从b.req\u id=a.req\u id上的CutPanelCard a LEFT JOIN CutPanelConfirmation b,其中request\u date>=date(day,-,--8,GETDATE())order by request\u date”,con);
SqlDataAdapter da=新的SqlDataAdapter(cmd);
数据填充(dtTemp);
ViewState[“信息”]=dtTemp;
尝试
{
{
//DataTable dtTemp=(DataTable)视图状态[“信息”];
DataTable dtDistinctRecords=dtTemp.DefaultView.ToTable(true,“生产线”);
DataTable dtStudentName=dtTemp.DefaultView.ToTable(true,“请求日期”);
DataTable a=新的DataTable();
DataTable dtStudent=新DataTable();
dtStudent.Columns.Add(“请求日期”);
foreach(dtDistinctRecords.rows中的数据行)
{
dtStudent.Columns.Add(行[“prod_line”].ToString());
}
foreach(dtStudentName.Rows中的数据行)
{
DataRow dr=dtStudent.NewRow();
dr[“请求日期”]=行[“请求日期”];
数据视图dv=新数据视图(dtTemp);
dv.RowFilter=“请求日期=”+行[“请求日期”]+”;
DataTable dtStudentdtl=dv.ToTable();
for(int i=0;i
为什么不使用模板字段
。因为我检索的列gridview和数据库中的列的结构不同。我从一列中检索数据库中的行,然后变成gridview中的每一列。好吧,如果您想在每个单元格中使用控件,并且还保留文本,就必须这样做。如果将控件添加到自动生成的单元格中,则会丢失内容。哦,好的,谢谢@VDWWD:)