【问题标题】:How to make a column read only in data grid in asp.net如何在asp.net的数据网格中使列只读
【发布时间】:2015-11-19 23:25:24
【问题描述】:

我创建了一个 DataGrid,我从数据库中获取数据并将其放入其中。
所有数据检索都是通过在后面的代码中动态完成的。
这是我的代码的一部分。

SqlConnection con = new SqlConnection("Data Source=PUNUTHL\\SQL;Initial Catalog=mytest;Integrated Security=True");
SqlDataAdapter ad;
DataSet ds = new DataSet();
static DataTable dt = new DataTable();

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        ad = new SqlDataAdapter("Select * from product",con);
        ad.Fill(ds);
        dt = ds.Tables[0];
        DataGrid1.DataSource = dt;
        DataGrid1.DataBind();
    }
}   

到目前为止,它运行良好。
但我想为那个 DataGrid 添加编辑功能
但根据我的查询,我也采用了“product_ID”值,这些值不能更新。
由于我同时使用“Etid”和“Delete”命令,“prodcut-id”可能是我的第三列,如图所示。


所以我希望只有当客户点击编辑按钮时才读取该列。那么我该如何解决这个问题。有没有办法让列名或列索引?请有人帮我。

【问题讨论】:

    标签: c# asp.net wpf datagrid


    【解决方案1】:

    这是使任何索引处的列只读的方法之一。

     DT.Columns(0).ReadOnly = True '// Make the column(0) readonly and assign to DataGrid.
    
       Datagrid!.DataSource = DT
    

    其中 DT 是用于从数据库收集数据的数据表,是数据网格 Datagrid1 的数据源。

    为了进一步编辑,使列 readonly=false 并进行更改,然后再次将其变为只读。

    在您的情况下,您可以将 2 的 Id 列设置为只读

    【讨论】:

    • 好的..非常感谢..效果很好..你的解释很有用..很好的回答方式。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 2013-10-11
    • 2013-11-09
    • 2022-10-24
    • 2011-04-24
    • 1970-01-01
    相关资源
    最近更新 更多