How to trigger the checkChanged event of the checkbox inside a DataGrid
<asp:DataGrid id=’DataGrid1′ runat=’server’> <Columns> <asp:TemplateColumn HeaderText=’Boolean Value’> <ItemTemplate> <asp:CheckBox id=CheckBox1 runat=’server’ onCheckedChanged=’chkChanged’ Checked=’<%# DataBinder.Eval(Container.DataItem, ‘Discontinued’) %>’ AutoPostBack=’True’> </asp:CheckBox> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> VB.NET Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ’Put user code to initialize the page here If Not IsPostBack Then ’Populate the datagrid End If End Sub protected Sub chkChanged(ByVal sender As Object, ByVal e As System.EventArgs) Response.Write(‘CheckChanged Event’) End Sub C# private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here if (!Page.IsPostBack ) { DataGrid1.DataSource =BindDataClass.BindData (); DataGrid1.DataBind (); } } protected void chkChanged(object sender , System.EventArgs e ) { Response.Write(‘CheckChanged Event’); }
How do I change the width of the Textboxes created for edit-mode of a Datagrid?
<asp:DataGrid id=’DataGrid1′ runat=’server’ AutoGenerateColumns=’False’> <Columns> <asp:TemplateColumn HeaderText=’ProductName’> <ItemTemplate> <%#DataBinder.Eval(Container.DataItem, ‘ProductName’).ToString()%> </ItemTemplate> <EditItemTemplate> <asp:Textbox runat=’server’ width=’450′ maxlength=’450’/> </EditItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid>
How to hide a column in a Datagrid if AutoGenerateColumns is set to True?
<asp:DataGrid id=’DataGrid1′ onItemDataBound=’ItemDB’ runat=’server’></asp:DataGrid> VB.NET protected Sub ItemDB (ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) e.Item.Cells(0).Visible = False End Sub C# protected void ItemDB (object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { e.Item.Cells[0].Visible = false; }
How can I display the field as a link in the DataGrid? If may or may not be stored in the ‘http://’ format.
<asp:DataGrid id=’DataGrid1′ AutoGenerateColumns=’False’ runat=’server’> <Columns> <asp:TemplateColumn HeaderText=’Link’> <ItemTemplate> <asp:HyperLink Runat =server NavigateUrl =’<%#GetURL(DataBinder.Eval(Container.DataItem, ‘RegionDescription’).ToString())%>’ ID=’Hyperlink1′> <%#DataBinder.Eval(Container.DataItem, ‘RegionDescription’)%> </asp:HyperLink> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> VB.NET Protected Function GetURL(ByVal fldval As String) As String If fldval.IndexOf(‘http://’, 0, fldval.Length) = 0 Then Return fldval Else Return ‘http://’ + fldval End If End Function ’GetURL C# protected string GetURL (string fldval ) { if (fldval.IndexOf ( ‘http://’ , 0, fldval.Length ) ==0) { return fldval; } else { return ‘http://’ + fldval; } }
How to use a LinkButton in a DataGrid
<asp:DataGrid id=’DataGrid1′ OnItemCommand=’ItemCmd’ runat=’server’> <Columns> <asp:ButtonColumn DataTextField=’ProductID’ CommandName=’Show’ HeaderText=’Productid’ ButtonType=’LinkButton’ Text=’Click’></asp:ButtonColumn> </Columns> </asp:DataGrid> VB.NET Protected Sub ItemCmd(source As Object, e As System.Web.UI.WebControls.DataGridCommandEventArgs) If e.CommandName.ToString() = ‘Show’ Then Response.Write(e.Item.Cells(5).Text) End If End Sub ’ItemCmd C# protected void ItemCmd(Object source, System.Web.UI.WebControls.DataGridCommandEventArgs e ) { if (e.CommandName.ToString () == ‘Show’) { Response.Write( e.Item.Cells[5].Text ); } }