[英]editing one column of data grid view
我知道如何編輯數據網格視圖中的整行,我想知道如何只編輯一列,保持其余數據相同。 我現在的代碼如下所示,我想知道如何編輯一列並將該數據更新到數據表。 我想只編輯列“ab”。
HTML代碼
<asp:GridView ID="GridView1" runat="server" AutoGenerateEditButton="True"
OnRowEditing="Gridview1_rowediting"
OnRowUpdating="Gridview_RowUpdating"
OnRowCancelingEdit="Gridview_EditCanceling" >
</asp:GridView>
C#代碼落后
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
add();
}
}
private void add()
{
dt.Columns.Add("ab", typeof(string));
dt.Columns.Add("ac", typeof(string));
dt.Columns.Add("av", typeof(string));
dt.Columns.Add("ax", typeof(string));
DataRow row = dt.NewRow();
row["ac"] = "sndasbfb";
row["av"] = "sndasbfb";
row["av"] = "sndasbfb";
row["ax"] = "sndasbfb";
dt.Rows.Add(row);
GridView1.DataSource = dt;
//ProjectsGridView.DataSource = dt;
//ReleasesGridView.DataSource = dt;
GridView1.DataBind();
// ProjectsGridView.DataBind();
// ReleasesGridView.DataBind();
}
protected void Gridview1_rowediting(object sender, GridViewEditEventArgs e)
{
//GridView1.EditIndex = e.NewEditIndex;
}
protected void Gridview_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex];
}
protected void Gridview_EditCanceling(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
add();
}
您可以在設計視圖中將列ReadOnly設置為True,或者通過以下代碼設置:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
add();
}
//If you are using template field
((TemplateField)gvGridView.Columns[index]).EditItemTemplate = null;
//If you are using boundfield
((BoundField)gvGridView.Columns[index]).ReadOnly = true;
}
或者,您可以在設計視圖中刪除該列的編輯模板,將列轉換為模板。
查看此鏈接以獲取更多信息:
我在我的一個應用程序中嘗試了這段代碼。
foreach (DataGridViewRow c in this.DataGrid.Rows)
c.Cells[0].Value = "Something";
這里“0”是ColumnIndex。 現在你可以根據自己的需要設置條件了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.