Courtesy of Nikhil Vartak, I found I new way to able to perform a postback using an ASP.NET Button control. By default the button control does not fire the __doPostBack javascript event. This method is all good, but does make having a custom client click event a little more complicated.
Another way I have of doing it is by adding a control to the page that does use the __doPostBack function (assuming there isn't one on the page already!).
Add a LinkButton to the page with a width and height of 0px. This will make sure the __doPostBack function is on the page. <asp:LinkButton ID="lb" runat="server" Width="0px" Height="0px" />
Your button can then have an OnClientClick function added to it. This function can have custom javascript in it and fire the __doPostBack function. The example is using jQuery:
__doPostBack($(this).attr('name').replace(/_/g, '$'), '');
Note that the _ is being replaced with a $ (the equivalent of using MyButton.UniqueID).
SyntaxHighlighter
Friday, 27 September 2013
Wednesday, 21 August 2013
SSRS: Black Box When Exporting to PDF with Hidden Column
Had a funny with SQL Server Reporting Services where I had a column in a table being hidden based on an expression. That was all fine, the issue was when the column was hidden and the report was exported to PDF, there was a solid black box being shown - great!
The table had a border and all inner borders were also set. I removed all the table borders and instead applied the borders to the textboxes in each cell.
Problem solved!
This has apparently been addressed in RS2005.
The table had a border and all inner borders were also set. I removed all the table borders and instead applied the borders to the textboxes in each cell.
Problem solved!
This has apparently been addressed in RS2005.
Friday, 12 April 2013
How To Change the Value in the app.config File
If you need to be able to change values in your application's app.config file, then it is surprisingly easy :)
In VB
In C#
In these examples, I am changing a connection string value and an app setting value. Once the config has been saved the modified section(s) need to be refreshed to ensure the new mods are loaded back into memory.
Remember that if your app is re-installed, then the modified app.config will be overwritten.
In VB
Dim config As Configuration = ConfigurationManager.OpenExeConfiguration( _ ConfigurationUserLevel.None) config.ConnectionStrings.ConnectionStrings("MyDB") _ .ConnectionString = "A_DB_CONNECTION_STRING" config.AppSettings.Settings("MySetting").Value = "A_SETTING_VALUE" config.Save(ConfigurationSaveMode.Modified) ConfigurationManager.RefreshSection("connectionStrings") ConfigurationManager.RefreshSection("appStrings")
In C#
Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); config.ConnectionStrings.ConnectionStrings["MyDB"] .ConnectionString = "A_DB_CONNECTION_STRING"; config.AppSettings.Settings["MySetting"].Value = "A_SETTING_VALUE"; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("connectionStrings"); ConfigurationManager.RefreshSection("appStrings");
In these examples, I am changing a connection string value and an app setting value. Once the config has been saved the modified section(s) need to be refreshed to ensure the new mods are loaded back into memory.
Remember that if your app is re-installed, then the modified app.config will be overwritten.
Thursday, 11 April 2013
Method VBProject of _workbook Failed
I ran recently ran an old bit of Excel VBA in Excel 2010 which automatically adds the Microsoft Scripting Runtime to the workbook for me. Rather annoyingly, I was getting a Method VBProject of _workbook Failed error.
I solved this by going into the Options > Trust Center > Trust Centre Settings... Choosing Macro Settings and then checking the Trust access to the VBA project object model checkbox.
I solved this by going into the Options > Trust Center > Trust Centre Settings... Choosing Macro Settings and then checking the Trust access to the VBA project object model checkbox.
The code to add the reference in case that helps too ;)
Public Sub SomeMethod() AddReference "C:\WINDOWS\system32\scrrun.dll" End Sub Private Sub AddReference(sFile As String) Dim i As Integer Dim bFound As Boolean bFound = False For i = 1 To ActiveWorkbook.VBProject.References.Count If ActiveWorkbook.VBProject.References.Item(i).FullPath = sFile Then bFound = True Exit For End If Next i If Not bFound Then ActiveWorkbook.VBProject.References.AddFromFile sFile End If End Sub
Wednesday, 30 January 2013
OpenVPN Client: Import Error Cannot Read ca Directive
I was following instructions to import an OpenVPN connection and got the following error:
IMPORT_ERROR: Profile or its references could not be read: cannot process OpenVPN file: cannot read file for OpenVPN 'ca' directive: [Errno 2] No such file or directory:
Seemed odd! As when I re-read the error message the path it was using was C:\Program Files\OpenVPN Technologies\OpenVPN Client\config and not the path it was installed under (C:\Program Files (x86)\OpenVPN Technologies\OpenVPN Client\config).
I fixed this by creating he config folder in the Program Files folder and not the Program Files (x86) folder. The connection imported fine.
Sunday, 20 January 2013
SSRS: Table KeepTogether Not Working
I was recently having a problem with SQL Server Reporting Services 2005 edition trying to stop a table control from breaking over a page. The obvious solution was to set the KeepTogether property to True. Wrong! Well, not exactly. It does keep the table together and not split it over a page, but only the detail! Headers and footers are not included.
I did some extensive trawling and couldn't find an easy solution - but there is one...
I did some extensive trawling and couldn't find an easy solution - but there is one...
Drop the table into a list control and set the KeepTogether property to True on the list.
This works beautifully for me and is really easy. The only thing you need to do is make sure that the list is the same size the table (and that's optional). Thus making sure it doesn't exceed the page width and so on.
Subscribe to:
Posts (Atom)
Labels
.net
(7)
ajax
(1)
android
(7)
apache
(1)
asp.net
(3)
asus
(2)
blogger
(2)
blogspot
(3)
c#
(16)
compact framework
(2)
cron
(1)
css
(1)
data
(1)
data recovery
(2)
dns
(1)
eclipse
(1)
encryption
(1)
excel
(1)
font
(1)
ftp
(1)
gmail
(5)
google
(4)
gopro
(1)
html
(1)
iis
(3)
internet explorer IE
(1)
iphone
(1)
javascript
(3)
kinect
(1)
linux
(1)
macro
(1)
mail
(9)
mercurial
(1)
microsoft
(3)
microsoft office
(3)
monitoring
(1)
mootools
(1)
ms access
(1)
mssql
(13)
mysql
(2)
open source
(1)
openvpn
(1)
pear
(2)
permissions
(1)
php
(12)
plesk
(4)
proxy
(1)
qr codes
(1)
rant
(4)
reflection
(3)
regex
(1)
replication
(1)
reporting services
(5)
security
(2)
signalr
(1)
sql
(11)
sqlce
(1)
sqlexpress
(1)
ssis
(1)
ssl
(1)
stuff
(1)
svn
(2)
syntax
(1)
tablet
(2)
telnet
(3)
tools
(1)
twitter
(1)
unix
(3)
vb script
(3)
vb.net
(9)
vba
(1)
visual studio
(2)
vpc
(2)
vpn
(1)
windows
(4)
woff
(1)
xbox 360
(1)