473,378 Members | 1,444 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

GridView RowCommand Not Firing

AG
I have a gridview that I bind to a List(of Type) at runtime.
Not using a datasource control.
The gridview has a template column with an imagebutton whose commandname is
set to 'Delete'.
The footer template has an commandbutton with the commandname set to
'Insert'.
Both buttons cause postback, however the RowCommand event does not fire.

How can I get the rowcommand to fire?

TIA
--

AG
Email: discuss at adhdata dot com


Oct 11 '06 #1
13 41925
On Wed, 11 Oct 2006 09:48:51 -0400, "AG"
<NO**********@newsgroups.nospamwrote:
>I have a gridview that I bind to a List(of Type) at runtime.
Not using a datasource control.
The gridview has a template column with an imagebutton whose commandname is
set to 'Delete'.
The footer template has an commandbutton with the commandname set to
'Insert'.
Both buttons cause postback, however the RowCommand event does not fire.

How can I get the rowcommand to fire?

TIA
Here is some sample code that does work with the linkbutton.

<asp:GridView ID="GridViewAvailablePictures" runat="server"
AutoGenerateColumns="False" DataKeyNames="id"
DataSourceID="ObjectDataSourceAvailablePictures"
OnRowCommand="GridViewAvailablePictures_RowCommand ">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkAssignButton" runat="server"
CommandName="Assign"
Text="Assign Picture To Session" Visible="true">
</asp:LinkButton>
<br />
<asp:Label ID="Label1" runat="server" Text='<%#
Bind("FileName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="id" InsertVisible="False"
SortExpression="id">
<ItemTemplate>
<asp:Image ID="Image1" runat="server"
ImageUrl='<%# "~/DisplayImage.ashx?sizex=120&pictureid=" + Eval("id")
%>' />

</ItemTemplate>
</asp:TemplateField>

<asp:BoundField DataField="Description"
HeaderText="Description" SortExpression="Description"
Visible="False" />

</Columns>
</asp:GridView>
Peter Kellner
http://peterkellner.net
Oct 11 '06 #2
AG
Peter,

Thanks for the quick reply.
If I use a datasource control as in your sample, the rowcommand event will
fire.
I am not using a datasource control, but setting the datasource of the
gridview to a List(of Type) at runtime.

--

AG
Email: discuss at adhdata dot com

"PeterKellner" <pk**********@73rdstreet.comwrote in message
news:mv********************************@4ax.com...
On Wed, 11 Oct 2006 09:48:51 -0400, "AG"
<NO**********@newsgroups.nospamwrote:
>>I have a gridview that I bind to a List(of Type) at runtime.
Not using a datasource control.
The gridview has a template column with an imagebutton whose commandname
is
set to 'Delete'.
The footer template has an commandbutton with the commandname set to
'Insert'.
Both buttons cause postback, however the RowCommand event does not fire.

How can I get the rowcommand to fire?

TIA

Here is some sample code that does work with the linkbutton.

<asp:GridView ID="GridViewAvailablePictures" runat="server"
AutoGenerateColumns="False" DataKeyNames="id"
DataSourceID="ObjectDataSourceAvailablePictures"
OnRowCommand="GridViewAvailablePictures_RowCommand ">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkAssignButton" runat="server"
CommandName="Assign"
Text="Assign Picture To Session" Visible="true">
</asp:LinkButton>
<br />
<asp:Label ID="Label1" runat="server" Text='<%#
Bind("FileName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="id" InsertVisible="False"
SortExpression="id">
<ItemTemplate>
<asp:Image ID="Image1" runat="server"
ImageUrl='<%# "~/DisplayImage.ashx?sizex=120&pictureid=" + Eval("id")
%>' />

</ItemTemplate>
</asp:TemplateField>

<asp:BoundField DataField="Description"
HeaderText="Description" SortExpression="Description"
Visible="False" />

</Columns>
</asp:GridView>
Peter Kellner
http://peterkellner.net

Oct 11 '06 #3
Hello AG,

Based on my experience, no matter we bind GridView through
DataSourceControl or normal data object collection, the RowCommand and
other Row based postback event(RowUpdating, RowEditing .... ) should work.
For your scenario, I think it is likely a page or control specific issue.
Here is a smiple test page with a GridView that bind to a custom class
Array, and I use a submit button and image button in the TemplateColumn,
also a submit button(with CommandName="Insert") in the footer template, all
these buttons can trigger the RowXXX event correctly. I've included the
complete page's aspx and codebehind source below, you can test it on your
side to see whether it works.

==============aspx===============
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="false" OnRowCommand="GridView1_RowCommand"
OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
ShowFooter="True">
<Columns>
<asp:BoundField DataField="CategoryID"
HeaderText="CategoryID" />
<asp:BoundField DataField="CategoryName"
HeaderText="CategoryName" />
<asp:BoundField DataField="Description"
HeaderText="Description" />
<asp:TemplateField HeaderText="TemplateField">
<ItemTemplate>
<asp:Button ID="btnEdit" runat="server" Text="Edit"
CommandName="Edit" />
<asp:ImageButton ID="imgBtn" runat="server"
ImageUrl="http://wcf.netfx3.com/Themes/default/images/logo.gif"
CommandName="Edit" />
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="btnInsert" runat="server" Text="Insert"
CommandName="Insert" />
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>

</div>
</form>
</body>
============================

=========code behind==============
public partial class dataaccess_CustomVOGridView : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();

}

}

private void BindGrid()
{
CategoryVO[] categories = new CategoryVO[10];

for (int i = 0; i < categories.Length; i++)
{
CategoryVO vo = new CategoryVO();
vo.CategoryID = i + 1;
vo.CategoryName = "Category_" + vo.CategoryID;
vo.Description = "Description of " + vo.CategoryName;

categories[i] = vo;
}

GridView1.DataSource = categories;
GridView1.DataBind();
}
protected void GridView1_RowCommand(object sender,
GridViewCommandEventArgs e)
{

Response.Write("<br/>GridView1_RowCommand: " + e.CommandName);
}
protected void GridView1_RowDeleting(object sender,
GridViewDeleteEventArgs e)
{
Response.Write("<br/>GridView1_RowDeleting " + e.RowIndex);
}
protected void GridView1_RowEditing(object sender,
GridViewEditEventArgs e)
{
Response.Write("<br/>GridView1_RowEditing " + e.NewEditIndex);
}
}
==========================

=========custom class===============
public class CategoryVO
{
private int _id;
private string _name;
private string _description;
public CategoryVO()
{

}

public CategoryVO(int id, string name, string description)
{
_id = id;
_name = name;
_description = description;
}
public int CategoryID
{
get { return _id; }
set { _id = value; }
}

public string CategoryName
{
get { return _name; }
set { _name = value; }
}

public string Description
{
get { return _description; }
set { _description = value; }
}
}
=================================

Please feel free to let me know if you have any further questions or new
finding.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.

==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
Oct 12 '06 #4
AG
Steven,

Thanks for the reply.
I have tracked down my problem.
It has to do with master pages.

In a normal page, your sample works fine.

I put it in a content control on a content page.
The RowCommand for the template column did not fire.
It DID fire for the delete column, which is NOT a template column.
This is what was confusing me.

Bottom line is that the ContentPlaceHolder of the masterpage had viewstate
turned off.
Once I turned it back on, all the events fired.

On another note.
I like the idea of using the footer of the gridview to add a new record.
However, if there is no data, the gridview does not render at all.
Is there any way to render the header and footer if there is no data for the
gridview?

--

AG
Email: discuss at adhdata dot com

"Steven Cheng[MSFT]" <st*****@online.microsoft.comwrote in message
news:9V**************@TK2MSFTNGXA01.phx.gbl...
Hello AG,

Based on my experience, no matter we bind GridView through
DataSourceControl or normal data object collection, the RowCommand and
other Row based postback event(RowUpdating, RowEditing .... ) should work.
For your scenario, I think it is likely a page or control specific issue.
Here is a smiple test page with a GridView that bind to a custom class
Array, and I use a submit button and image button in the TemplateColumn,
also a submit button(with CommandName="Insert") in the footer template,
all
these buttons can trigger the RowXXX event correctly. I've included the
complete page's aspx and codebehind source below, you can test it on your
side to see whether it works.

==============aspx===============
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="false" OnRowCommand="GridView1_RowCommand"
OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
ShowFooter="True">
<Columns>
<asp:BoundField DataField="CategoryID"
HeaderText="CategoryID" />
<asp:BoundField DataField="CategoryName"
HeaderText="CategoryName" />
<asp:BoundField DataField="Description"
HeaderText="Description" />
<asp:TemplateField HeaderText="TemplateField">
<ItemTemplate>
<asp:Button ID="btnEdit" runat="server" Text="Edit"
CommandName="Edit" />
<asp:ImageButton ID="imgBtn" runat="server"
ImageUrl="http://wcf.netfx3.com/Themes/default/images/logo.gif"
CommandName="Edit" />
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="btnInsert" runat="server" Text="Insert"
CommandName="Insert" />
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>

</div>
</form>
</body>
============================

=========code behind==============
public partial class dataaccess_CustomVOGridView : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();

}

}

private void BindGrid()
{
CategoryVO[] categories = new CategoryVO[10];

for (int i = 0; i < categories.Length; i++)
{
CategoryVO vo = new CategoryVO();
vo.CategoryID = i + 1;
vo.CategoryName = "Category_" + vo.CategoryID;
vo.Description = "Description of " + vo.CategoryName;

categories[i] = vo;
}

GridView1.DataSource = categories;
GridView1.DataBind();
}
protected void GridView1_RowCommand(object sender,
GridViewCommandEventArgs e)
{

Response.Write("<br/>GridView1_RowCommand: " + e.CommandName);
}
protected void GridView1_RowDeleting(object sender,
GridViewDeleteEventArgs e)
{
Response.Write("<br/>GridView1_RowDeleting " + e.RowIndex);
}
protected void GridView1_RowEditing(object sender,
GridViewEditEventArgs e)
{
Response.Write("<br/>GridView1_RowEditing " + e.NewEditIndex);
}
}
==========================

=========custom class===============
public class CategoryVO
{
private int _id;
private string _name;
private string _description;
public CategoryVO()
{

}

public CategoryVO(int id, string name, string description)
{
_id = id;
_name = name;
_description = description;
}
public int CategoryID
{
get { return _id; }
set { _id = value; }
}

public string CategoryName
{
get { return _name; }
set { _name = value; }
}

public string Description
{
get { return _description; }
set { _description = value; }
}
}
=================================

Please feel free to let me know if you have any further questions or new
finding.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.

==================================================

This posting is provided "AS IS" with no warranties, and confers no
rights.


Oct 12 '06 #5
Thanks for your reply AG,

Based on your further description, I'm getting abit closer to the problem
your encountered. And I think the main cause here should be your
ContentPlaceHolder's ViewState is disabled rather than master page. As
for Template databound control such as GridView, DataGrid, after
databinding, they'll store the bound data into ViewState so that we do not
need to rebind the data in seqentual postback. However, when you disable
the ViewState of them or their container control, the bound data won't be
persisted after databinding, therefore we need to perform databinding on
each page request(no matter the intial request or postback).

I've modified my last test example and put the content page in a
ContentPlaceHolder within a master page and set its EnableViewState to
"false". And as long as I bind data to the GridView in each page request,
all the postback commands (our custom button in templateField or built-in
button field ) can work as expected. My modified page codebehind is as
below:

==================
protected void Page_Load(object sender, EventArgs e)
{

BindGrid();

}
====================

All the other code remains the same. So is your page also rebinding the
data to the GridView in each request? You can test the same behavior
through the my page or your modifeid version to see whether it works.

If there is anything unclear or any other questions , please feel free to
let me know.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.

Oct 13 '06 #6
AG
Steven,

Thanks.
I had already confirmed your comments and have turned on viewstate for the
content placeholder. It being off was not intentional. Probably an
unintentional scroll of the mousewheel.
While I can get my project to do what I want now that I know how things
work, I do think that it should be considered a bug that the events don't
fire without viewstate for a template column, but DO fire for a
commandfield.

Please address the below item.

On another note.
I like the idea of using the footer of the gridview to add a new record.
However, if there is no data, the gridview does not render at all.
Is there any way to render the header and footer if there is no data for the
gridview?

--

AG
Email: discuss at adhdata dot com

"Steven Cheng[MSFT]" <st*****@online.microsoft.comwrote in message
news:3L**************@TK2MSFTNGXA01.phx.gbl...
Thanks for your reply AG,

Based on your further description, I'm getting abit closer to the problem
your encountered. And I think the main cause here should be your
ContentPlaceHolder's ViewState is disabled rather than master page. As
for Template databound control such as GridView, DataGrid, after
databinding, they'll store the bound data into ViewState so that we do not
need to rebind the data in seqentual postback. However, when you disable
the ViewState of them or their container control, the bound data won't be
persisted after databinding, therefore we need to perform databinding on
each page request(no matter the intial request or postback).

I've modified my last test example and put the content page in a
ContentPlaceHolder within a master page and set its EnableViewState to
"false". And as long as I bind data to the GridView in each page request,
all the postback commands (our custom button in templateField or built-in
button field ) can work as expected. My modified page codebehind is as
below:

==================
protected void Page_Load(object sender, EventArgs e)
{

BindGrid();

}
====================

All the other code remains the same. So is your page also rebinding the
data to the GridView in each request? You can test the same behavior
through the my page or your modifeid version to see whether it works.

If there is anything unclear or any other questions , please feel free to
let me know.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no
rights.

Oct 13 '06 #7
Thanks for your reply AG,

As for the Footer, Header template for empty datasource case, I'm afraid so
far the GridView can not display any GridViewRow when there is no data
record in the DataSource since GridViewRow is generated based on DataSource
records. However, if you do want to provide a "insert item" interface even
when there is no data supplied in the DataSource, you can consider use the
"EmptyDataTemplate" to provide a insert user interface so that the user can
directly see the insert item panel when the datasource is empty(contains no
record). e.g.

====================

<asp:GridView ID="GridView1" runat="server" ...................>
...............................
<EmptyDataTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Button ID="btnInsert" runat="server" Text="Edit"
CommandName="Insert" />
</EmptyDataTemplate>
</asp:GridView>
====================

Please feel free to let me know if there is any thing else you wonder.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.

Oct 16 '06 #8
AG
Thanks Steven,

I do know about the EmptyDataTemplate. It just seems like duplication of
work.
The 1.1 datagrid did show header/footer even if there were no data rows and
I was hoping that there was a way to duplicate that. I wll just have to use
another method.

--

AG
Email: discuss at adhdata dot com

"Steven Cheng[MSFT]" <st*****@online.microsoft.comwrote in message
news:h4**************@TK2MSFTNGXA01.phx.gbl...
Thanks for your reply AG,

As for the Footer, Header template for empty datasource case, I'm afraid
so
far the GridView can not display any GridViewRow when there is no data
record in the DataSource since GridViewRow is generated based on
DataSource
records. However, if you do want to provide a "insert item" interface
even
when there is no data supplied in the DataSource, you can consider use the
"EmptyDataTemplate" to provide a insert user interface so that the user
can
directly see the insert item panel when the datasource is empty(contains
no
record). e.g.

====================

<asp:GridView ID="GridView1" runat="server" ...................>
...............................
<EmptyDataTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Button ID="btnInsert" runat="server" Text="Edit"
CommandName="Insert" />
</EmptyDataTemplate>
</asp:GridView>
====================

Please feel free to let me know if there is any thing else you wonder.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no
rights.

Oct 16 '06 #9
Thanks for your reply AG,

Yes, the different implementation of GridView and DataGrid make us have to
handle the empty datasource scenario differently. Actually, this change is
also made according to some feedback from the community. Anyway, it seems
that we would prefer a more flexible interface of such a template databound
control. I think this is a good point that you can submit the request for
the ASP.NET product team to refer.

http://connect.microsoft.com/VisualS...k.aspx?Feedbac
kID=118879

Also, if you meet any new problem in the developing or if anything else we
can help, please feel free to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.

Oct 16 '06 #10
AG
Thanks Steven,

I would be happy to submit the request, but the link you supplied is for a
different issue:
The path '/WebSite/App_GlobalResources/' maps to a directory outside this
application, which is not supported.

--

AG
Email: discuss at adhdata dot com

"Steven Cheng[MSFT]" <st*****@online.microsoft.comwrote in message
news:lp**************@TK2MSFTNGXA01.phx.gbl...
Thanks for your reply AG,

Yes, the different implementation of GridView and DataGrid make us have to
handle the empty datasource scenario differently. Actually, this change is
also made according to some feedback from the community. Anyway, it seems
that we would prefer a more flexible interface of such a template
databound
control. I think this is a good point that you can submit the request for
the ASP.NET product team to refer.

http://connect.microsoft.com/VisualS...k.aspx?Feedbac
kID=118879

Also, if you meet any new problem in the developing or if anything else we
can help, please feel free to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no
rights.

Oct 16 '06 #11
Thanks for your quick reply AG,

yes, I incorrectly include the issue id in the former link. You can submit
through the root link of feedback page:

http://connect.microsoft.com/VisualStudio/feedback/

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

This posting is provided "AS IS" with no warranties, and confers no rights.

Oct 16 '06 #12
AG
Thank you, I have submitted the feedback.

--

AG
Email: discuss at adhdata dot com

"Steven Cheng[MSFT]" <st*****@online.microsoft.comwrote in message
news:7G**************@TK2MSFTNGXA01.phx.gbl...
Thanks for your quick reply AG,

yes, I incorrectly include the issue id in the former link. You can submit
through the root link of feedback page:

http://connect.microsoft.com/VisualStudio/feedback/

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

This posting is provided "AS IS" with no warranties, and confers no
rights.

Oct 17 '06 #13
Hi Steven,

I have read thru the reply chains I have one doubt when we are writing
differnt mehtod of editing and Deleting , why should we include the
method for onRowCommand in the grid declaration. I haev some similar
problem,

I Grid view with two buttonfields and have used OnRowCommand in the
gridview declaration. But during run time it thors an error as "The
GridView fired event RowEditing which wasn't handled."

Not sure why this is coming...should i given the implementation for
RoeEiditing and RowDeleting methods?

thanks,
Santosh

AG wrote:
Thank you, I have submitted the feedback.

--

AG
Email: discuss at adhdata dot com

"Steven Cheng[MSFT]" <st*****@online.microsoft.comwrote in message
news:7G**************@TK2MSFTNGXA01.phx.gbl...
Thanks for your quick reply AG,

yes, I incorrectly include the issue id in the former link. You can submit
through the root link of feedback page:

http://connect.microsoft.com/VisualStudio/feedback/

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

This posting is provided "AS IS" with no warranties, and confers no
rights.
Oct 25 '06 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Zule | last post by:
Hi, I am creating a Composite Control within which I have a GridView. In this GridView, I have three TemplateFields, the last one being a template with a LinkButton which is meant to be clicked...
5
by: Mike P | last post by:
I have a ButtonField in my GridView with a CommandName, and I have a method which I am using to capture each click of the button : protected void GridView1_RowCommand(object sender,...
1
by: keithb | last post by:
What causes a GridView RowCommand Event to intercept a RowDeleting Event? How to cure it? Thanks, Keith
6
by: Kevin Attard | last post by:
I am using a GridView inside a UserControl which has a template column for deleting the rows. Before databinding the gridview i am attaching the RowCommand and RowDataBound event. I am using the...
1
by: jobs | last post by:
Can I have data on Gridview column as a link that runs a row command and/or a subroutine/function in the vb.net codebehind? I thought about asp:command, but don't see where I can bind my data in...
2
by: John007 | last post by:
I am using a GridView in ASP.Net 2.0 to Insert, Edit, Update and Delete. I am using ItemTemplate and EditItemTemplate and the buttons are LinkButtons. I am inserting a new row from the footer. The...
0
by: =?Utf-8?B?Tkg=?= | last post by:
Hi, I have a gridview in a template field of another gridview. How do I capture the RowCommand for that nested child gridview? I cant seem to figure it out. Thanks
0
by: =?Utf-8?B?YmVuamk=?= | last post by:
Hi, I've got a gridview that I bind programmatically to a view of a typed dataset. One column has a command button, and in the RowCreated event, I test to see if it's a DataRow, and if it is, I...
0
by: progman417 | last post by:
Hello, I've got a Web User Control containing a gridview with a "select record" button on each row. When the user clicks the button I want to call an event handler in the main page. My...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.