【问题标题】:How to Disable Grid View Row After File Upload Control Completes File Uploading Operation文件上传控件完成文件上传操作后如何禁用网格视图行
【发布时间】:2013-02-11 08:15:35
【问题描述】:

我有一个网格视图,其中包含三个字段。第一个是数据绑定字段,第二个是包含文本框控件的模板字段,第三个是包含 FileUpload 控件的模板字段。

我想在文件上传控件完成文件上传操作时禁用网格视图行。

我的网格绑定代码是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;


public partial class gr4 : System.Web.UI.Page
{
    SqlConnection cn;
    SqlCommand cmd;
    SqlDataAdapter da;
    DataSet ds;

protected void Page_Load(object sender, EventArgs e)
{
    cn = new SqlConnection("Data Source=AMIR-PC\\MOHEMMAD;Initial Catalog=CRM_InvestPlus;Integrated Security=True");
    string query = "Select Capacity from Dealer_License_Capacity where ID='D00001' and Software_ID='001' and Version_ID='1'";
    cn.Open();
    cmd = new SqlCommand(query,cn);
    da = new SqlDataAdapter(cmd);
    ds = new DataSet();
    da.Fill(ds);
    cn.Close();


    string query1 = "select  Price from Version_Master where Software_ID='001' and Version_ID='1'";
    cn.Open();
    cmd = new SqlCommand(query1, cn);
    da = new SqlDataAdapter(cmd);
    DataSet ds1 = new DataSet();
    da.Fill(ds1);
    cn.Close();


    string query2 = "select Software_Name from Software_Master where Software_ID='001'";
    cn.Open();
    cmd = new SqlCommand(query2, cn);
    da = new SqlDataAdapter(cmd);
    DataSet ds2 = new DataSet();
    da.Fill(ds2);
    cn.Close();

    DataTable dt = new DataTable();
   // dt.Columns.Add("Name", typeof(string));
    dt.Columns.Add("Software_Name", typeof(string));
    dt.Columns.Add("Price", typeof(string));

    int count = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());

    for (int i = 0; i < count; i++)
    {
        DataRow dr = dt.NewRow();
     //   dr["Name"] = "aaa";
        dr["Software_Name"] = ds2.Tables[0].Rows[0][0].ToString();
        dr["Price"] = ds1.Tables[0].Rows[0][0].ToString();

        dt.Rows.Add(dr);
        if (i == 0)

            Response.Write(dr["Price"]);

    }

    GridView1.DataSource = dt;
    GridView1.DataBind();

    //GridView1.SelectedRow.Enabled = false;


  }
}

Grid的源文件是:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>

        <asp:BoundField DataField="Software_Name" />
        <asp:TemplateField>
            <EditItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("Price") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>


        <asp:TemplateField>
            <ItemTemplate>
                <asp:FileUpload ID="FileUpload1" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>


    </Columns>
    </asp:GridView>

数据是完美有界的,但我想在文件上传控件完成操作后禁用选定的gridview行。

请帮忙

提前致谢。

【问题讨论】:

  • 你的文件上传什么时候开始??
  • 只是简单的操作。根据容量提供文件上传器的数量我必须上传我想要的数量的文件。不是具体的上传时间。当用户选择要上传的文件时,它应该被上传

标签: c# asp.net visual-studio-2010


【解决方案1】:
protected void GridView1_DataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
               e.Row.Enabled=false;//Check on the condition that uploaded is completed            
        }
    }

【讨论】:

  • 检查使用 FileUpload1.HasFile 如果为真则文件已上传
  • 我已经包含了 .cs 和 .aspx 文件,而且我只有这么多代码 .. @isso
猜你喜欢
  • 1970-01-01
  • 2020-07-15
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
  • 2011-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多