Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在gridview列中动态添加按钮?_C#_Asp.net_Gridview - Fatal编程技术网

C# 如何在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();

我有gridview的代码。如何使用此代码在除第一列之外的每行的所有列中启用“添加”按钮?我没有为gridview指定templatefield或其他字段,因为我通过此代码声明gridview显示。我怎样才能做到这一点?这是我的代码:

`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:)