1,直接拖一个控件下来,进行数据绑定。注意需要有主键,生成相关update,insert,delete语句
3、MasterTableView 增加:
CommandItemDisplay="Top" EditMode="InPlace"
4、<Columns>内,增加:
(1)<radg:GridEditCommandColumn ButtonType="ImageButton" UpdateImageUrl="./Img/Update.gif"
EditImageUrl="./Img/Edit.gif" InsertImageUrl="./Img/Insert.gif"
CancelImageUrl="./Img/Cancel.gif" InsertText="插入新值" EditText="编辑" UpdateText="修改" CancelText="取消">
<HeaderStyle Width="20px" />
<ItemStyle CssClass="MyImageButton" />
</radg:GridEditCommandColumn>
(2)
<radG:GridButtonColumn ConfirmText="确认删除么?" ButtonType="ImageButton" ImageUrl="./Img/Delete.gif" CommandName="Delete" Text="删除" UniqueName="DeleteColumn">
<HeaderStyle Width="20px" />
<ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
</radG:GridButtonColumn>
5、</MasterTableView>结束前,增加:
<CommandItemSettings AddNewRecordText="增加" RefreshText="刷新" />
<EditFormSettings>
<EditColumn CancelText="取消" InsertText="插入新值" UpdateText="修改">
</EditColumn>
</EditFormSettings>
6、将主键设置为可编辑,redonly=false
7、代码中加入异常处理等语句:(直接复制进入即可)
protected void Page_Load(object sender, EventArgs e)
{
// this.RadGrid1.MasterTableView.EditMode = GridEditMode.EditForms;
}
protected void DG_SortCommand(object source, Telerik.WebControls.GridSortCommandEventArgs e)
{
if (!e.Item.OwnerTableView.SortExpressions.ContainsExpression(e.SortExpression))
{
GridSortExpression sortExpr = new GridSortExpression();
sortExpr.FieldName = e.SortExpression;
sortExpr.SortOrder = GridSortOrder.Ascending;
e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr);
}
}
protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e)
{
}
protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)
{
if (e.Exception != null)
{
e.ExceptionHandled = true;
DisplayMessage("无法插入数据: " + e.Exception.Message);
}
else
{
DisplayMessage("插入成功");
}
// DG.Rebind();
}
protected void RadGrid1_ItemUpdated(object source, GridUpdatedEventArgs e)
{
if (e.Exception != null)
{
e.KeepInEditMode = false;
e.ExceptionHandled = true;
DisplayMessage("无法修改 " + e.Item["ADDVCD"].Text +"由于: " + e.Exception.Message);
}
else
{
e.KeepInEditMode = false;
DisplayMessage("修改 " + e.Item["ADDVCD"].Text + " 成功");
}
// DG.Rebind();
}
private void DisplayMessage(string text)
{
this.RadGrid1.Controls.Add(new LiteralControl(text));
}
制作报表编辑USERCONTROL:
1)在</MasterTableView>结束之前加入:
<EditFormSettings UserControlName="UserControl/WR_DFAG_B.ascx" EditFormType="WebUserControl">
<EditColumn UniqueName="EditCommandColumn1">
</EditColumn>
</EditFormSettings>
2)按普通方式制作一个usercontrol。在代码中声明:
public object DataItem
{
get
{
return this._dataItem;
}
set
{
this._dataItem = value;
}
}
3)对每个字段绑定:<%# DataBinder.Eval( Container, "DataItem.DFAGNM") %>
<asp:TextBox
ID="TextBox11" runat="server" Text='<%# DataBinder.Eval( Container, "DataItem.DFAGNM") %>'
4)对按钮增加CommandName如下。注意,直接的点击时间也要写OnClick="btnUpdate_Click"即数据库操作代码
<asp:Button ID="btnUpdate" runat="server"
CommandName="Update" Text="修改" Visible="<%# !(DataItem is Telerik.WebControls.GridInsertionObject) %>" OnClick="btnUpdate_Click" /><asp:Button
ID="btnInsert" runat="server" CommandName="PerformInsert" Text="插入" Visible="<%# DataItem is Telerik.WebControls.GridInsertionObject %>" OnClick="btnInsert_Click" /><asp:Button
ID="btnCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消" /></radA:RadAjaxPanel>