I have problem in radgrid when biding data by List (not EntitiesDataSource or LinqDataSource or SqlDatasource).
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"True"
AllowSorting
=
"True"
CellSpacing
=
"0"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
ShowStatusBar
=
"True"
OnDeleteCommand
=
"RadGrid1_DeleteCommand"
OnInsertCommand
=
"RadGrid1_InsertCommand"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
OnUpdateCommand
=
"RadGrid1_UpdateCommand"
GridLines
=
"None"
Skin
=
"Metro"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
>
<
ExportSettings
ExportOnlyData
=
"True"
IgnorePaging
=
"True"
OpenInNewWindow
=
"True"
>
<
Excel
Format
=
"Biff"
/>
</
ExportSettings
>
<
MasterTableView
CommandItemDisplay
=
"Top"
EditMode
=
"InPlace"
InsertItemPageIndexAction
=
"ShowItemOnCurrentPage"
AutoGenerateColumns
=
"False"
DataKeyNames
=
"ID"
GridLines
=
"Both"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
AddNewRecordText
=
"Thêm mới"
ExportToExcelText
=
"Xuất Excel"
RefreshText
=
"Làm mới"
ShowExportToExcelButton
=
"True"
>
</
CommandItemSettings
>
<
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridDropDownColumn
DataField
=
"ProviderId"
DataType
=
"System.Int64"
FilterControlAltText
=
"Filter ProviderId column"
HeaderText
=
"Nhà cung cấp"
SortExpression
=
"ProviderId"
ListTextField
=
"ProviderName"
ListValueField
=
"ProviderId"
UniqueName
=
"ProviderId"
ColumnEditorID
=
"GridDropDownColumnEditor1"
DropDownControlType
=
"RadComboBox"
runat
=
"server"
>
</
telerik:GridDropDownColumn
>
<%-- <
telerik:GridTemplateColumn
HeaderText
=
"Nhà cung cấp"
UniqueName
=
"ProviderID"
>
<
ItemTemplate
>
<
asp:DropDownList
ID
=
"ddlProvider"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>--%>
<
telerik:GridBoundColumn
DataField
=
"Buys"
DataType
=
"System.Decimal"
FilterControlAltText
=
"Filter Buys column"
HeaderText
=
"Buys"
SortExpression
=
"Buys"
UniqueName
=
"Buys"
>
</
telerik:GridBoundColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"Date"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter Date column"
HeaderText
=
"Date"
SortExpression
=
"Date"
UniqueName
=
"Date"
>
</
telerik:GridDateTimeColumn
>
<
telerik:GridBoundColumn
DataField
=
"Commen"
FilterControlAltText
=
"Filter Commen column"
HeaderText
=
"Commen"
SortExpression
=
"Commen"
UniqueName
=
"Commen"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Bạn muốn xóa hóa đơn này ?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
ButtonType
=
"ImageButton"
CommandName
=
"Delete"
/>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
>
<
ItemStyle
CssClass
=
"MyImageButton"
Width
=
"30px"
></
ItemStyle
>
</
telerik:GridEditCommandColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
>
</
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
>
</
FilterMenu
>
</
telerik:RadGrid
>
And here is code behind
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadGrid1_DeleteCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
Int64 purchaseId = Convert.ToInt64((e.Item as GridDataItem).GetDataKeyValue("ID"));
INPUTITEMDAO.Delete(purchaseId);
RadGrid1.Rebind();
//Reresh grid
RadGrid1.MasterTableView.ClearEditItems();
}
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem item = e.Item as GridEditableItem;
Hashtable values = new Hashtable();
item.ExtractValues(values);
INPUTITEM objInputItem=new INPUTITEM();
item.UpdateValues(objInputItem);
INPUTITEMDAO.InsertAndUpdate(objInputItem);
RadGrid1.Rebind();
RadGrid1.MasterTableView.ClearEditItems();
}
protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem item = e.Item as GridEditableItem;
Int64 purchaseId =Convert.ToInt64(item.GetDataKeyValue("ID").ToString());
INPUTITEM objInputItem = DataOut.GetAllINPUTITEMList().Where(i => i.ID == purchaseId).FirstOrDefault();
item.UpdateValues(objInputItem);
INPUTITEMDAO.InsertAndUpdate(objInputItem);
RadGrid1.Rebind();
RadGrid1.MasterTableView.ClearEditItems();
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = DataOut.GetAllINPUTITEMList();
}
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
GridEditableItem editedItem = e.Item as GridEditableItem;
GridDataItem dataItem = e.Item as GridDataItem;
if (e.Item is GridEditableItem&& (e.Item as GridEditableItem).IsInEditMode)
{
GridEditManager editMan = editedItem.EditManager;
GridDropDownListColumnEditor editor = editMan.GetColumnEditor("ProviderId") as GridDropDownListColumnEditor;
//in case you have RadComboBox editor for the GridDropDownColumn (this is the default editor),
//you will need to use ComboBoxControl below instead of DropDownListControl
//Then you can modify the list control as per your custom conventions
if (editor != null)
{
editor.DataSource = PROVIDERDAO.GetAllPROVIDERList();
editor.DataBind();
}
}
}
i don't know what problem that i run project not show ProviderId column but when i click edit it is show
I Want grid show ProviderId column with ListTextField = "ProviderName" when page loading because eidt i had done ok.
Please help me ?