本文介绍了AspxGridView默认的editform不显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当你点击编辑按钮时,默认不显示的编辑形式





这是ASP:

--------------------------------------------- ------------------------



< dx:ASPxGridView ID =gvAtributos ClientInstanceName =gvAtributosEnableViewState =falserunat =serverTheme =MetropolisBlueWidth =100%OnDataBinding =gvAtributos_DataBindingAutoGenerateColumns =falseönRowUpdating=gvAtributos_RowUpdatingEnableCallBacks =false>







通过回调面板加载:



C#

--------------------------------------- -----------------------------

protected void CallbackAtributos_Callback(对象发送者,DevExpress.Web.ASPxClasses。 CallbackEventArgsBase e)

{

int parametro = Convert.ToInt32(e.Parameter);

Session [parametro] = parametro;

S. QLDS_Atributos.SelectParameters [Proyecto]。DefaultValue = Session [idProyecto]。ToString();

SQLDS_Atributos.SelectParameters [Objeto]。DefaultValue = gvObjetos.GetRowValues(parametro,pkObjeto ).ToString();





//gvAtributos.DataSource = SQLDS_Atributos;

gvAtributos.Caption = gvObjetos.GetRowValues(parametro,Alias)。ToString();

gvAtributos.SettingsDataSecurity.AllowEdit = true;

gvAtributos.SettingsBehavior.AllowSelectByRowClick = true;

gvAtributos.SettingsBehavior.AllowSelectSingleRowOnly = true;

gvAtributos.AutoGenerateColumns = false;

gvAtributos.DataBind();





}



protected void gvAtributos_DataBinding(object sender,EventArgs e)

{

(发件人为ASPxGridView).DataSource = GetDataSource();

AddColumns();

}



private SqlDataSource GetDataSource()

{

返回SQLDS_Atributos;

}



private void AddColumns()

{

gvAtributos.Columns.Clear();

DataView dw =(DataView)GetDataSource()。Select(DataSourceSelectArguments.Empty);

foreach(dw.Table.Columns中的DataColumn c)

AddTextColumn(c.ColumnName);



gvAtributos.KeyFieldName = dw.Table.Columns [0] .ColumnName;

clave = dw.Table.Columns [0] .ColumnName; //

gvAtributos.Columns [0]。 Visible = false;

AddCommandColumn();

}



private void AddTextColumn(string fieldName)

{

GridViewDataTextCo lumn c = new GridViewDataTextColumn();

c.FieldName = fieldName;

gvAtributos.Columns.Add(c);

}



private void AddCommandColumn()

{

SqlDataSource ds =(SqlDataSource)gvAtributos.DataSource;

bool showColumn =!(String.IsNullOrEmpty(ds.UpdateCommand)&& String.IsNullOrEmpty(ds.InsertCommand)&&

String.IsNullOrEmpty(ds.DeleteCommand));



if(showColumn)

{

GridViewCommandColumn c = new GridViewCommandColumn();

gvAtributos。 Columns.Add(c);

c.ShowEditButton = true;

c.ShowEditButton =!String.IsNullOrEmpty(ds.UpdateCommand);

c.ShowCancelButton = true;

c.ShowUpdateButton = true;

}

}



protected void gvAtributos_RowUpdating(object sender,DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)

{

//更新

}

the form of editing that brings default not displayed when you click on the edit button


This is ASP:
---------------------------------------------------------------------

<dx:ASPxGridView ID="gvAtributos" ClientInstanceName="gvAtributos" EnableViewState="false" runat="server" Theme="MetropolisBlue" Width="100%" OnDataBinding="gvAtributos_DataBinding" AutoGenerateColumns="false" önRowUpdating="gvAtributos_RowUpdating" EnableCallBacks="false">



loaded via a callback panel:

C#
--------------------------------------------------------------------
protected void CallbackAtributos_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
{
int parametro = Convert.ToInt32(e.Parameter);
Session["parametro"] = parametro;
SQLDS_Atributos.SelectParameters["Proyecto"].DefaultValue = Session["idProyecto"].ToString();
SQLDS_Atributos.SelectParameters["Objeto"].DefaultValue = gvObjetos.GetRowValues(parametro, "pkObjeto").ToString();


//gvAtributos.DataSource = SQLDS_Atributos;
gvAtributos.Caption = gvObjetos.GetRowValues(parametro, "Alias").ToString();
gvAtributos.SettingsDataSecurity.AllowEdit = true;
gvAtributos.SettingsBehavior.AllowSelectByRowClick = true;
gvAtributos.SettingsBehavior.AllowSelectSingleRowOnly = true;
gvAtributos.AutoGenerateColumns = false;
gvAtributos.DataBind();


}

protected void gvAtributos_DataBinding(object sender, EventArgs e)
{
(sender as ASPxGridView).DataSource = GetDataSource();
AddColumns();
}

private SqlDataSource GetDataSource()
{
return SQLDS_Atributos;
}

private void AddColumns()
{
gvAtributos.Columns.Clear();
DataView dw = (DataView)GetDataSource().Select(DataSourceSelectArguments.Empty);
foreach (DataColumn c in dw.Table.Columns)
AddTextColumn(c.ColumnName);

gvAtributos.KeyFieldName = dw.Table.Columns[0].ColumnName;
clave = dw.Table.Columns[0].ColumnName;//
gvAtributos.Columns[0].Visible = false;
AddCommandColumn();
}

private void AddTextColumn(string fieldName)
{
GridViewDataTextColumn c = new GridViewDataTextColumn();
c.FieldName = fieldName;
gvAtributos.Columns.Add(c);
}

private void AddCommandColumn()
{
SqlDataSource ds = (SqlDataSource)gvAtributos.DataSource;
bool showColumn = !(String.IsNullOrEmpty(ds.UpdateCommand) && String.IsNullOrEmpty(ds.InsertCommand) &&
String.IsNullOrEmpty(ds.DeleteCommand));

if (showColumn)
{
GridViewCommandColumn c = new GridViewCommandColumn();
gvAtributos.Columns.Add(c);
c.ShowEditButton = true;
c.ShowEditButton = !String.IsNullOrEmpty(ds.UpdateCommand);
c.ShowCancelButton = true;
c.ShowUpdateButton = true;
}
}

protected void gvAtributos_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
{
//updating
}

推荐答案

这篇关于AspxGridView默认的editform不显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-22 23:01
查看更多